String sequence = "html1body2ul3li1p5a";
我想在Java中使用replace方法从序列中删除最后一个数字(即,5)。如何使用正则表达式捕获从序列末尾看到的第一个数字?所有非数字都是字母。
答案 0 :(得分:1)
你可以这样做:
sequence = sequence.replaceAll("(.*)\\d", "$1");
答案 1 :(得分:0)
sequence.replaceFirst("\\d([^\\d]*)$", "$1");
答案 2 :(得分:0)
这个怎么样?
String sequence = "html1body2ula3li1p5a";
System.out.println("Remove last char "+sequence.substring(1,sequence.length()-1));
System.out.println("Replace last char"+sequence.replaceAll("a$","XXX"));
答案 3 :(得分:0)
你也可以尝试一下......
String sequence = "html1body2ul3li1p5a";
sequence = sequence.replaceAll("(\\d+)(?!.*\\d)", "");
答案 4 :(得分:0)
如果你只需要替换最后的0-9字符,你可以使用:
myString.replaceAll("\\d+(?=\D*$)", "")
这将替换所应用字符串中的最后一位数字。
myString.replaceAll("\\d+(?=\D*$)", "")
这将替换所应用字符串中的最后一组数字(例如93
中的sdfsdflih193a
)。