在每个给定的字符后插入一个空格 - java

时间:2014-02-17 21:46:02

标签: java regex

我需要在字符串中的每个给定字符后插入一个空格。

例如"abc.def..."

需要成为"abc. def. . . "

所以在这种情况下,给定的字符是点。

我在谷歌上搜索没有回答这个问题

我真的应该去获得一些严肃的正则表达式知识。

编辑:--------------------------------------------- -------------

String test = "0:;1:;";
test.replaceAll( "\\:", ": " );
System.out.println(test);

// output: 0:;1:;
// so didnt do anything

解决方案:--------------------------------------------- ----------

String test = "0:;1:;";
**test =** test.replaceAll( "\\:", ": " );
System.out.println(test);

3 个答案:

答案 0 :(得分:6)

您可以使用String.replaceAll()

String input = "abc.def...";
String result = input.replaceAll( "\\.", ". " );
// result will be "abc. def. . . "

编辑:

String test = "0:;1:;";
result = test.replaceAll( ":", ": " );
// result will be "0: ;1: ;" (test is still unmodified)

编辑:

正如其他答案所述,String.replace()就是这个简单替换所需要的。只有当它是正则表达式时(就像你在问题中所说的那样),你必须使用String.replaceAll()

答案 1 :(得分:2)

答案 2 :(得分:0)

如果你想要一种简单的蛮力技术。以下代码将执行此操作。

String input = "abc.def...";
StringBuilder output = new StringBuilder();
for(int i = 0; i < input.length; i++){
    char c = input.getCharAt(i);
    output.append(c);
    output.append(" ");
}
return output.toString();