在每个字符后面加空格

String str1 = "里面将图片保存到本地,到网络上搜索了一下,方法都差不多,大同小异,把输入流转换成输出流的过程而已。";
想在字符串里面的每个字后面添加一个空格,我用正则如下:
String after1 = str1.replaceAll("\S" , "\S ");
System.out.println(after1); 发现字符串里面的字符全面变成了“S ”。
正则可以搞定这个问题吗?除了正则,看看还有什么方法?

3个回答

[code="java"]
public String appendSpace(String para){
int length = para.length();
char[] value = new char[length << 1];
for (int i=0, j=0; i<length; ++i, j = i << 1) {
value[j] = para.charAt(i);
value[1 + j] = ' ';
}
return new String(value);
}
[/code]
这就是最简单,也是最高效的方法,这样的问题也要用低效的正则?

我的方法也许比较笨,就是先把,截取出来,然后保存到一个数据,然后循环添加空格。

[code="java"]
String str1 = "里面将图片保存到本地,到网络上搜索了一下,方法都差不多,大同小异,把输入流转换成输出流的过程而已。";
// 每个字,不包括“,”和“。”,有需要的话再加其他的符号。
str1 = str1.replaceAll("([^,。])", "$1 ");
System.out.println(str1);
[/code]

Csdn user default icon
上传中...
上传图片
插入图片
抄袭、复制答案,以达到刷声望分或其他目的的行为,在CSDN问答是严格禁止的,一经发现立刻封号。是时候展现真正的技术了!
立即提问
相关内容推荐