我有字符的字符串中刪除字符, String a = "abcd000324";
正則表達式從字符串中後字母
我想用一個正則表達式產生的字符串從字符串中刪除0的abcd324
是否有一個正則表達式值來替換字母后的某個字符(即0),但不會刪除該字符串。它還需要在字符串後面出現數字的情況下工作,即abcd0034505
應該爲abcd34505
我有字符的字符串中刪除字符, String a = "abcd000324";
正則表達式從字符串中後字母
我想用一個正則表達式產生的字符串從字符串中刪除0的abcd324
是否有一個正則表達式值來替換字母后的某個字符(即0),但不會刪除該字符串。它還需要在字符串後面出現數字的情況下工作,即abcd0034505
應該爲abcd34505
喲查詢使用該正則表達式:
^(\D*)0+
,並通過使用"$1"
替換它哪個是哪個是\D*
即0或多個非數字字符第一組的反向參考。
Java代碼:
String repl = input.replaceFirst("^(\D*)0+", "$1");
這工作完美。感謝您也解釋您的正則表達式。 – DevelopingDeveloper
爲了避免必須更換該正則表達式的一部分返回到本身,使用正回顧後((?<=...)
):
(?<=\D)0+
這將與零序列只有如果它們前面有一些非數字字符。現在,您可以
str.replaceFirst("(?<=\\D)0+", "")
,而無需通過任何引用捕獲組。
「後的字母數字字符」 ......難道真的是「經過字母字符」? –
在下列情況下應該做什麼:'abcd05050505'? –
這將導致abcd5050505,我只想刪除字母值後的整數值,直到出現另一個值。 – DevelopingDeveloper