String sequence = "html1body2ul3li1p5a";
我想使用Java中的replace方法從序列中刪除最後一位數字(即5)。如何捕獲從正則表達式序列中看到的第一個數字?所有的非數字都是字母。如何從序列中刪除最後一位數字?
String sequence = "html1body2ul3li1p5a";
我想使用Java中的replace方法從序列中刪除最後一位數字(即5)。如何捕獲從正則表達式序列中看到的第一個數字?所有的非數字都是字母。如何從序列中刪除最後一位數字?
sequence.replaceFirst("\\d([^\\d]*)$", "$1");
您假設從最後一個數字到結尾的字符串只有1個字符 – nhahtdh 2013-03-26 04:26:02
這個怎麼樣?
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"));
也就是說,如果您已經知道哪裏數字是。這不適用於一般情況。 – nhahtdh 2013-03-26 04:23:57
你可以試試這個太...
String sequence = "html1body2ul3li1p5a";
sequence = sequence.replaceAll("(\\d+)(?!.*\\d)", "");
您捕獲的不止是「最後一位數字」。您正在捕獲最後連續的數字序列。 – nhahtdh 2013-03-26 04:27:34
如果你只需要更換的最後一個字符0-9,你可以使用:
myString.replaceAll("\\d+(?=\D*$)", "")
這將取代過去的數字在沒有任何應用的字符串。
myString.replaceAll("\\d+(?=\D*$)", "")
這將替換數字的最後一組與任何施加的串(例如,在sdfsdflih193a
的93
)英寸
你確定你想使用正則表達式嗎? http://programmers.stackexchange.com/questions/10998/what-does-the-jamie-zawinskis-quotation-about-regular-expressions-mean – 2013-03-26 03:18:54
你想捕捉還是替換? – 2013-03-26 03:24:07
@ExplosionPills替換 – 2013-03-26 03:24:43