在每个给定字符后插入空格-java
我需要在字符串中的每个给定字符后插入一个空格 例如在每个给定字符后插入空格-java,java,regex,Java,Regex,我需要在字符串中的每个给定字符后插入一个空格 例如“abc.def…” 需要变成“abc.def…” 在这种情况下,给定的字符就是点 我在谷歌上的搜索没有找到这个问题的答案 我真的应该去学习一些严肃的正则表达式知识 编辑:---------------------------------------------------------- String test = "0:;1:;"; test.replaceAll( "\\:", ": " ); System.out.println(test)
“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 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()
就是这个简单替换所需的全部内容。只有当它是正则表达式时(如您在问题中所说),才必须使用String.replaceAll()
您可以使用replace
text = text.replace(".", ". ");
如果你想要一种简单的暴力技术。下面的代码将完成此操作
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();
String input=“abc.def…”;
StringBuilder输出=新的StringBuilder();
for(int i=0;i
您需要使用string.replace(“.”,“”)replaceAll()将正则表达式作为第一个参数。“:”在正则表达式中没有特殊意义,因此您不必逃避它。删除双反斜杠后,代码应该可以正常工作。@tangens否遗憾的是,您不必使用String.replaceAll()的结果。字符串在java中是不可变的。@tangens是的,就是说,谢谢,不,这不太符合OP的要求。他/她希望能够为任何角色这样做,而不仅仅是为dot。使用此解决方案,有些字符需要前面的反斜杠,有些则不需要。如果要使用replaceAll
进行替换,则需要使用Pattern.quote
,这将确定角色是否需要引用。但是对于这个特殊的问题,使用replace
,而不是replaceAll
@DavidWallace更容易些。你能发布一个更详细的answer@DavidWallace就目前而言,至少是这样的:“我在2570707答案下的评论告诉了你们所有你们需要知道的事情。什么不起作用?使用replace
对我来说很好。这是最好的答案。当然,在一般情况下,它应该是text.replace(targetCharacter,targetCharacter+)
其中targetCharacter
是一个字符串
,等于要查找的字符。