我正在寻找将Java字符串的每个字符替换为字符+空格的方法(最后一个字符除外或在末尾删除尾随空格)
这个想法来自于STACKOVERFLOW
return S T A C K O V E R F L O W
。可以用正则表达式来做到这一点还是我应该迭代字符串?
谢谢
"StackOverFlow".replaceAll(".(?!$)", "$0 "));
不需要正则表达式。
只需遍历字符串并使用 StringBuilder:
String withSpaces = addSpaces("StackOverflow");
public String addSpaces(String s) {
StringBuilder sb = new StringBuilder();
for (int i = 0; i < s.length(); i++) {
sb.append(s.charAt(i)).append(" ");
}
return sb.substring(0, sb.length() - 1);
}
一起去
str.replaceAll("(?<!^)(?!$)", " ");
或同等学历
str.replaceAll("(?<=.)(?!$)", " ");
...或者如果您想在非空格字符后面添加空格字符,请使用
str.replaceAll("(?<=\S)(?!$)", " ");
...如果你想防止双空格(如果已经有一些空间),那么使用
str.replaceAll("(?<=\S)(?!\s)(?!$)", " ");