是否可以使用replaceAll()替换具有相同数量空格的字符串中的前导零?

时间:2015-05-31 07:08:34

标签: java regex

在Java中,我试图替换像" 001.234"用" spacespace1.234"。然而,我是一个正则表达式的菜鸟,我似乎最终将所有前导零替换为单个空格。

我知道我可以通过循环轻松完成此操作,但我试图选择正则表达式并感谢任何帮助:)

2 个答案:

答案 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