我需要一些关于我正在尝试编写的正则表达式的支持。我收到一个总是由 8 位数字组成的字符串(如 12345678)。从这个字符串中,我需要删除尾随零,但始终保持偶数位数。例如:12345678 --> 1234567812345600 --> 12345612345000 --> 12345012003000 --> 120030对我来说,虽然部分是确保保持偶数。我尝试使用一些(\d\d)+[^(00)]+,但它没有达到我想要的效果。
3 回答
墨色风雨
TA贡献1853条经验 获得超6个赞
import java.util.regex.Matcher;
import java.util.regex.Pattern;
final String regex = "(00)*$";
final String string = "12345678\n"
+ "12400000\n"
+ "12005600\n"
+ "12340000\n"
+ "12000000\n"
+ "12340000\n"
+ "12345000";
final String subst = "";
final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);
// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);
System.out.println("Substitution result: " + result);
下面是结果
Substitution result: 12345678
1240
120056
1234
12
1234
123450
添加回答
举报
0/150
提交
取消