有人可以帮助我找到Java 8中此问题的解决方案吗?
由多个空格组成的字符串被提供给您。您必须通过编写算法来删除所有不必要的空格。
条目:包含句子的字符串。 输出:包含相同句子但没有多余空格的字符串。
示例: 对于以下条目:“我(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());