在字符之间添加空格

Bab*_*u R 5 java string space

我希望在字符串中每两个字符后添加空格.

例如:

javastring 
Run Code Online (Sandbox Code Playgroud)

我想把它变成:

ja va st ri ng
Run Code Online (Sandbox Code Playgroud)

我怎样才能做到这一点?

Mar*_*ers 27

您可以使用正则表达式'..'匹配每两个字符并将其替换"$0 "为添加空格:

s = s.replaceAll("..", "$0 ");
Run Code Online (Sandbox Code Playgroud)

您可能还希望修剪结果以删除末尾的额外空间.

看到它在线工作:ideone.

或者,您可以添加负前瞻断言以避免在字符串末尾添加空格:

s = s.replaceAll("..(?!$)", "$0 ");
Run Code Online (Sandbox Code Playgroud)


小智 5

//Where n = no of character after you want space

int n =2;
StringBuilder str = new StringBuilder("ABCDEFGHIJKLMNOP");
int idx = str.length() - n;
while (idx > 0){
   str.insert(idx, " ");
   idx = idx - n;
}
return str.toString();
Run Code Online (Sandbox Code Playgroud)

说明,这段代码会从右到左添加空格:

str = "ABCDEFGH" int idx = total length - 2; //8-2=6
while (8>0)
{
    str.insert(idx, " "); //this will insert space at 6th position
    idx = idx - n; // then decrement 6-2=4 and run loop again
} 
Run Code Online (Sandbox Code Playgroud)

最终输出将是

AB CD EF GH
Run Code Online (Sandbox Code Playgroud)