如何使用Java8删除不必要的空格?

如何使用Java8删除不必要的空格?,java,Java,有人能帮我在Java 8中找到这个问题的解决方案吗: 一个由多个空格组成的字符串将提供给您。必须通过编写算法删除所有不必要的空格 条目:包含一个句子的字符串。 输出:包含相同句子且没有不必要空格的字符串 例如: 对于以下条目:“我(3个空间)生活在(3个空间)地球上。” 输出是:“我生活在地球上。”您可以使用regex来实现它,例如: String withSpaces = "a b c d"; System.out.println(withSpaces.replaceAll("\\

有人能帮我在Java 8中找到这个问题的解决方案吗:

一个由多个空格组成的字符串将提供给您。必须通过编写算法删除所有不必要的空格

条目:包含一个句子的字符串。 输出:包含相同句子且没有不必要空格的字符串

例如: 对于以下条目:“我(3个空间)生活在(3个空间)地球上。”
输出是:“我生活在地球上。”

您可以使用
regex
来实现它,例如:

String withSpaces = "a   b   c   d";
System.out.println(withSpaces.replaceAll("\\s+", " "));
(注意,我喜欢下面的@Darshan Mehta解决方案) 可以使用正则表达式替换多个空格。 我使用:来测试我的正则表达式。 然后,它允许您将正则表达式生成为一种编程语言。我选择了Java,结果是:

import java.util.regex.Matcher;
import java.util.regex.Pattern;

final String regex = "\\s+";
final String string = "i   live   on   earth";
final String subst = " ";

final Pattern pattern = Pattern.compile(regex, Pattern.MULTILINE);
final Matcher matcher = pattern.matcher(string);

// The substituted value will be contained in the result variable
final String result = matcher.replaceAll(subst);

System.out.println("Substitution result: " + result);
没有正则表达式:

String s = "your string";
        StringBuilder sb = new StringBuilder();
        String[] sp = s.split(" ");
        for(String a : sp) {
            if(!a.trim().equals(""))
            sb.append(a+" ");
        }
            System.out.println(sb.toString().trim());   

欢迎来到堆栈溢出。如果你包括你已经尝试过的内容,那么这里的问题最受欢迎。这样的任务转储是不可取的。祝你好运到目前为止你尝试了什么?没有现成的方法。现有的解决方案假设,除非我们讨论的是前导或尾随空间,否则它们应该存在。你得自己写一份感谢信@Ramesh@Pam_Stums谢谢你的回答,但我不应该使用regex:)顺便问一下,你能给我你的邮件与你联系吗