java - 如何在JAVA中找到一个数字序列并将这些数字序列与数字2相乘?
问题描述
如何在JAVA中找到一个数字序列并仅将这些数字序列与数字2相乘?
假设我有一个字符串“我的年龄是 19”。如何获得字符串“我的年龄是 38”作为输出?
另外,稍后我如何反转字符串中的乘数。对于上面的示例输入,第二个输出应该是“我的年龄是 83”
我尝试使用 java.util.regex.Pattern。有用。但是,我们有没有其他方法可以做到这一点。可能通过将字符串转换为数组?我试过了。但我对字符串中的字符序列相乘感到震惊。相反,我可以对每个数字进行复数。但我希望数字序列乘以 2。例如,在上面的示例中,我可以将每个数字 1 和 9 乘以 2。但我希望 19 作为 2 位数字乘以 2。
解决方案
尝试这个。
Pattern pat = Pattern.compile("\\d+");
String s = "My age is 19";
String doubled = pat.matcher(s).replaceAll(m -> "" + Integer.valueOf(m.group()) * 2);
System.out.println(doubled);
String reversed = pat.matcher(doubled).replaceAll(m -> new StringBuilder(m.group()).reverse().toString());
System.out.println(reversed);
输出
My age is 38
My age is 83
推荐阅读
- android - 如何解决 java.io.IOException: No such file or directory or Permission denied issue on execution sh file from android in windows machine
- microsoft-information-protection - Microsoft 信息保护 SDK 1.7.133 - 加载库失败问题错误
- docker - 在 docker 中安装 Activeperl 需要 Uri
- integromat - 对 webhook 的第一个请求
- flutter - Flutter Dio 拦截器:DioError [DioErrorType.DEFAULT]:错误状态:无法完成最终的 MultipartFile
- angular - Angular 8“ngIf”条件未按预期工作
- fortigate - 如何阻止从 fortigate 到 fortiguard 服务器和 FDN 的所有连接
- azure - 基于队列触发的功能应用程序未完成
- php - 在 mac VVV 设置上找不到 php.ini
- python - 芹菜工人在 Windows 上显示“未知选项 -A”