-1
String sequence = "html1body2ul3li1p5a";

Java の replace メソッドを使用して、シーケンスから最後の桁 (つまり 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 に答える