-2

我有一个字符串,单词之间有一个空格。会有将近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”。此处的单个空格必须替换为制表符空格或多个空格

4

5 回答 5

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

我认为您没有将替换的字符串保存到新字符串中。由于 String 在 java 中是不可变的,所以我采用新字符串 b 来保存更新的值。

我想这会对你有所帮助。

谢谢你。

于 2013-09-27T06:49:38.807 回答
0

让我在您获得更多反对票之前回答。

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

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

见这里开发和测试正则表达式:正则表达式星球

于 2013-09-27T06:48:50.857 回答
0

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

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

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

使用以下代码替换空格字符以放置制表符:

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

同样,您可以使用多个空格而不是 '\t' 将所有空格字符替换为提到的空格,如下所示:

a.replaceAll("\\s+","     ");
于 2013-09-27T06:42:49.510 回答
-1

replaceAll()可以使用双倍空间

input.replaceAll(" ", "  ");
于 2013-09-27T06:39:58.987 回答
-1

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

您没有阅读一些文档吗?

于 2013-09-27T06:41:21.230 回答