-1
String sequence = "html1body2ul3li1p5a";

我想使用 Java 中的替换方法从序列中删除最后一个数字(即 5)。如何使用正则表达式捕获从序列末尾看到的第一个数字?所有非数字都是字母。

4

5 回答 5

1

你可以这样做:

sequence = sequence.replaceAll("(.*)\\d", "$1");
于 2013-03-26T03:26:12.047 回答
0

如果您只需要替换最后一个 0-9 字符,您可以使用:

myString.replaceAll("\\d+(?=\D*$)", "")

这将用任何内容替换应用字符串中的最后一个数字。

myString.replaceAll("\\d+(?=\D*$)", "")

这将用任何内容替换应用字符串中的最后一组数字(例如93in sdfsdflih193a)。

于 2013-03-26T10:43:35.317 回答
0
sequence.replaceFirst("\\d([^\\d]*)$", "$1");
于 2013-03-26T03:27:25.617 回答
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"));
于 2013-03-26T03:39:42.103 回答
0

你也可以试试这个...

String sequence = "html1body2ul3li1p5a";
sequence = sequence.replaceAll("(\\d+)(?!.*\\d)", "");
于 2013-03-26T03:39:52.887 回答