String sequence = "html1body2ul3li1p5a";
我想使用 Java 中的替换方法从序列中删除最后一个数字(即 5)。如何使用正则表达式捕获从序列末尾看到的第一个数字?所有非数字都是字母。
你可以这样做:
sequence = sequence.replaceAll("(.*)\\d", "$1");
如果您只需要替换最后一个 0-9 字符,您可以使用:
myString.replaceAll("\\d+(?=\D*$)", "")
这将用任何内容替换应用字符串中的最后一个数字。
myString.replaceAll("\\d+(?=\D*$)", "")
这将用任何内容替换应用字符串中的最后一组数字(例如93
in sdfsdflih193a
)。
sequence.replaceFirst("\\d([^\\d]*)$", "$1");
这个怎么样?
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"));
你也可以试试这个...
String sequence = "html1body2ul3li1p5a";
sequence = sequence.replaceAll("(\\d+)(?!.*\\d)", "");