在Java中,我试图替换像" 001.234"用" spacespace1.234"。然而,我是一个正则表达式的菜鸟,我似乎最终将所有前导零替换为单个空格。
我知道我可以通过循环轻松完成此操作,但我试图选择正则表达式并感谢任何帮助:)
答案 0 :(得分:6)
没问题:
String resultString = subjectString.replaceAll("\\G0", " ");
\G
在\A
的第一次迭代中表现为replaceAll()
(字符串起始锚点),但在后续传递中,它将匹配锚定到上一个匹配的位置结束。这可以防止它在字符串中的任何其他位置匹配零,如小数点后。
答案 1 :(得分:0)
您可以替换
public static void main(String[] args) {
String before = "00000001.234";
String after = before.replaceAll("0", " ");
System.out.println("This is after :"+after+" replacing");
}
输出:This is after : 1.234 replacing