Java String.split-won';不要一开始就处理空格

Java String.split-won';不要一开始就处理空格,java,Java,输出为: 开始 与 空间 我想删除所有空格,但它会创建空字符串。我一开始不能使用trim,那么这个问题的最佳解决方案是什么?如果您想要输出: 开始 与 空间 那么我将使用的代码是: String test=" Begin with spaces"; for(String n:test.split("\\s")) System.out.println(n); 因此,请尝试使用“”而不是/s 如果你想把它们放在一个字符串中,只需执行以下操作: Str

输出为:

开始

空间


我想删除所有空格,但它会创建空字符串。我一开始不能使用trim,那么这个问题的最佳解决方案是什么?

如果您想要输出:

开始

空间

那么我将使用的代码是:

String test="   Begin with spaces";   

for(String n:test.split("\\s"))              
    System.out.println(n);
因此,请尝试使用“”而不是/s

如果你想把它们放在一个字符串中,只需执行以下操作:

String test = "Begin with spaces";
for(String n:test.split(" "))
    System.out.println(n);

内置的
String.split
方法真的有点疯狂。听起来您最好使用:

Iterable字符串=拆分器
.on(CharMatcher.WHITESPACE)
.trimpresults()
.省略空字符串()
.split(myString);
返回:

org.apache.commons.lang.StringUtils.split("      Begin with spaces", null); 

为什么不能使用trim?我想做的是将句子拆分成数组,它会创建空字符串,而不是空字符串。@user1261718,好的,仅供参考,您可以先调用trim,然后拆分结果。Trim不会阻止您拆分结果字符串…输出是相同的。首先有空元素。我想知道除了split之外是否还有其他方法可以拆分和处理空格一个发现问题的好方法是列出你的输入和输出,我知道你的输入是什么,但我不知道你到底想用字符串做什么?你想删除所有的空格吗?天哪。我发现stackoverflow删除了单词“Begin”前的2个空格和输出中的3个空行。我的问题是split创建空字符串元素,但我不想要它们它们它们不是空字符串,它们是空字符串。您有一组“”,而不是一组null。
Iterable<String> strings = Splitter
  .on(CharMatcher.WHITESPACE)
  .trimResults()
  .omitEmptyStrings()
  .split(myString);
org.apache.commons.lang.StringUtils.split("      Begin with spaces", null); 
["Begin", "with", "spaces"]