【问题标题】:Insert a space after every given character - java在每个给定字符后插入一个空格 - java
【发布时间】:2014-02-17 21:46:01
【问题描述】:

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

例如"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);

【问题讨论】:

  • 你需要使用string.replace(".",".")
  • replaceAll() 将正则表达式作为第一个参数。 “:”在正则表达式中没有特殊含义,因此您不必转义它。删除双反斜杠后,您的代码应该可以正常工作了。
  • @tangens 不,遗憾的是没有
  • 你必须使用 String.replaceAll() 的结果。字符串在 java 中是不可变的。
  • @tangens 是的,就是这样,谢谢

标签: java regex


【解决方案1】:

你可以使用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()

【讨论】:

  • 不,这不太符合 OP 的要求。他/她希望能够为任何角色做到这一点,而不仅仅是点。使用此解决方案,某些字符将需要前面的反斜杠,而有些则不需要。如果要替换为replaceAll,则需要使用Pattern.quote,这将确定字符是否需要引用。不过,对于这个特殊问题,使用 replace 而不是 replaceAll 要容易得多。
  • @DavidWallace 能否请您发布更详细的答案
  • @DavidWallace 现在至少可以与“:”一起使用
  • 我在 2570707 的回答下的评论告诉你你需要知道的一切。
  • 什么不起作用?使用 replace 对我来说很好。
【解决方案2】:

【讨论】:

  • 这是最好的答案。当然,在一般情况下,它会是text.replace(targetCharacter, targetCharacter + " ");,其中targetCharacterString,等于要查找的字符。
【解决方案3】:

如果你想要一个简单的蛮力技术。下面的代码就可以了。

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();

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-05-19
    • 2014-11-09
    • 1970-01-01
    • 1970-01-01
    • 2020-03-04
    • 1970-01-01
    • 1970-01-01
    • 2023-03-10
    相关资源
    最近更新 更多