如何在java中的字符串中的单词之间添加双/三空格?

时间:2013-09-27 06:32:38

标签: java regex

我有一个单词之间有单个空格的字符串。将会有近30个单词。我需要用两个/三个空格替换单个空格。我怎么能用replaceAll()做到​​这一点?

String Unit_Name="-";

public String getUnit_Name() {
        return Unit_Name;
    }

    @XmlAttribute(name="UNIT")
    public void setUnit_Name(String Unit_Name) {

        String b=Unit_Name.replaceAll(" ", "   ");
        this.Unit_Name = b;
    }

这是我试过的代码。但这似乎不起作用。 这是我的数据“3590-1 3490 3480X 3480 3400-6 CTAPE RTAPE TAPE 3400 3400-9 3400-5 3400-3 2400-3 SYS3480R SYS348XR”。此处的单个空格必须替换为制表符空格或多个空格

5 个答案:

答案 0 :(得分:1)

    String a= "bla bla bla";
    String b = a.replaceAll(" ", "   ");
    System.out.println(b);

我认为你没有将被替换的字符串保存到新字符串中。由于String在java中是不可变的,因此我使用新的字符串b来保存更新的值。

我认为这会对你有帮助。

谢谢。

答案 1 :(得分:0)

我更喜欢使用正则表达式:

a.replaceAll("\\s+", " "); 

这将用单个空格替换所有空格字符。

使用以下代码替换空格字符以放置标签:

a.replaceAll("\\s+", "\t"); 

同样,您可以使用多个空格而不是' \ t'用这样的空格替换所有空格字符:

a.replaceAll("\\s+","     ");

答案 2 :(得分:0)

让我在你投票之前做出更多回答。

    System.out.println(":" + "xy abc.\thello world\n".replaceAll(" ", "  ") + ":");
    System.out.println(":" + "xy abc.\thello world\n".replaceAll("\\s", "  ") + ":");

第一行仅用两个空格替换一个空格。第二行用两个空格替换一个空格字符(空格,制表符,换行符等)。

请参阅此处以开发和测试正则表达式:regex planet

答案 3 :(得分:-1)

使用replaceAll()

可以实现双倍空格
input.replaceAll(" ", "  ");

答案 4 :(得分:-1)

replaceAll(" "," ")方法是最好的方法。

你没看过一些文件吗?