2012-12-27 48 views

回答

4

我認爲這會工作:

str.replaceAll("(?<!\d)0+(?=\d+)", ""); 

這裏有一些測試:http://fiddle.re/rp57

+0

在發佈前想想...... –

+2

@LukasKnuth這實際上是一個5秒的修復。 – Michael

+0

太棒了,謝謝! – user1930999

5

這將工作:方法

str.replaceAll("^0+", "")

2

在這裏,不同的兩個之間提及:(?!$)

str.replaceAll("^0+", "") 

"0001000" ----> "1000" 
"0000000" ----> "" 


replaceAll("^0+(?!$)", "") 

"0001000" ----> "1000" 
"0000000" ----> "0" 

是所謂的負先行尋找出結束字符串,並且不要刪除字符串尾部的「0」。因此,如果一個前導零也是該字符串的最後一個字符,它不會被刪除

相關問題