Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将字符串中的多余空格替换为Java中的单个空格,不带正则表达式_Java_Regex_String_Replace - Fatal编程技术网

将字符串中的多余空格替换为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();