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

时间:2019-03-21 10:31:47

标签: java

有人可以帮助我找到Java 8中此问题的解决方案吗?

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

条目:包含句子的字符串。 输出:包含相同句子但没有多余空格的字符串。

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

3 个答案:

答案 0 :(得分:2)

您可以使用regex,例如:

String withSpaces = "a   b   c   d";
System.out.println(withSpaces.replaceAll("\\s+", " "));

答案 1 :(得分:0)

(注意,我喜欢下面的@Darshan Mehta解决方案)  您可以使用正则表达式替换多个空格。 我使用了:regex101.com来测试我的正则表达式。 然后,您可以将正则表达式生成为编程语言。我选择了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);

答案 2 :(得分:0)

没有正则表达式:

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());