将字符串中的多余空格替换为Java中的单个空格,不带正则表达式
我想基本上做到这一点:将字符串中的多余空格替换为Java中的单个空格,不带正则表达式,java,regex,string,replace,Java,Regex,String,Replace,我想基本上做到这一点: String secondString = firstString.trim().replaceAll(" +", " "); 或者用一个空格替换字符串中的所有多个空格。然而,有没有可能像我在这里做的那样,在没有正则表达式的情况下这样做 谢谢 然而,有没有可能像我在这里做的那样,在没有正则表达式的情况下这样做 是。正则表达式清晰易读,所以我可能会使用它;但是您可以使用嵌套循环,例如 StringBuilder sb=新建StringBuilder(); for(int
String secondString = firstString.trim().replaceAll(" +", " ");
或者用一个空格替换字符串中的所有多个空格。然而,有没有可能像我在这里做的那样,在没有正则表达式的情况下这样做
谢谢
然而,有没有可能像我在这里做的那样,在没有正则表达式的情况下这样做
是。正则表达式清晰易读,所以我可能会使用它;但是您可以使用嵌套循环,例如
StringBuilder sb=新建StringBuilder();
for(int i=0;i
注意:这是一个罕见的O(N)嵌套循环示例;内部循环修改与外部循环相同的计数器。Java为字符串提供了一个replace()方法,该方法将查找给定字符串并将其替换为另一个字符串。一般来说,我们希望您在提问之前至少尝试一下编程。然后我们将从那里提出建议。
StringBuilder sb = new StringBuilder();
for (int i = 0; i < firstString.length(); i++) {
sb.append(firstString.charAt(i));
if (Character.isWhitespace(firstString.charAt(i))) {
// The current character is white space, skip characters until
// the next character is not.
while (i + 1 < firstString.length()
&& Character.isWhitespace(firstString.charAt(i + 1))) {
i++;
}
}
}
String secondString = sb.toString();