如何删除序列中的最后一位数?

时间:2013-03-26 03:17:21

标签: java regex

String sequence = "html1body2ul3li1p5a";

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

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)。