我有字符串" 08,09,10,11"我想" 8,9,10,11"即剥去所有前导零。
正则表达式
"08,09,10,11".replaceAll("^0+(?!$)", "")
很接近,但给了我' 8,09,10,11' (即9上的零点没有被剥离。
任何人都有正则表达式我可以用来做我需要的东西吗?
答案 0 :(得分:5)
这将有效:
str.replaceAll("^0+", "")
答案 1 :(得分:4)
答案 2 :(得分:2)
这里提到两种方法的不同之处:
str.replaceAll("^0+", "")
"0001000" ----> "1000"
"0000000" ----> ""
replaceAll("^0+(?!$)", "")
"0001000" ----> "1000"
"0000000" ----> "0"
(?!$)是一个所谓的负前瞻,它会查找字符串的结尾,并且不会删除“0”后跟字符串的结尾。因此,如果前导零也是字符串的最后一个字符,则不会被删除