Alk*_*ris 5 java regex replaceall
我想替换字符串中所有出现的组.
String test = "###,##.##0.0########";
System.out.println(test);
test = test.replaceAll("\\.0(#)", "0");
System.out.println(test);
Run Code Online (Sandbox Code Playgroud)
我试图获得的结果###,##.##0.000000000
基本上,我想要替换所有#尾随的符号.0.我发现这是关于动态替换的,但我不能真正使它工作.
最佳解决方案不会考虑要替换的哈希数量(如果这样可以清除任何混淆).
#(?!.*\\.0)
Run Code Online (Sandbox Code Playgroud)
你可以尝试这个0.放置.参见演示.
https://regex101.com/r/yW3oJ9/12
您可以使用简单的正则表达式来完成任务.
#(?=#*+$)
Run Code Online (Sandbox Code Playgroud)
(?=#*+$)=正向前瞻,用于检查在字符串结尾#之前前面有0个或更多#符号的任何前导$.编辑:我现在使用占有量词 *+来避免任何性能问题.
见演示
String test = "###,##.##0.0###########################################";
test = test.replaceAll("#(?=#*+$)", "0");
System.out.println(test);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
559 次 |
| 最近记录: |