拆分具有多个空格的字符串

时间:2012-04-09 20:29:07

标签: java regex string split

我想分割一个像

这样的字符串
"first     middle  last" 

String.split()。但当我试图分裂它时,我得到了

String[] array = {"first","","","","middle","","last"}

我尝试使用String.isEmpty()来检查空字符串,但是我在android中不起作用。这是我的代码:

String s = "First  Middle Last";
String[] array = s.split(" ");
for(int i=0; i<array.length; i++) {
  //displays segmented strings here
}

我认为有一种方法可以将它拆分为:{"first","middle","last"}但无法弄清楚如何。

感谢您的帮助!

6 个答案:

答案 0 :(得分:128)

由于split()的参数是regular expression,您可以查找一个或多个空格(" +"),而不只是一个空格(" ")。

String[] array = s.split(" +");

答案 1 :(得分:25)

尝试使用此s.split("\\s+");

答案 2 :(得分:8)

如果您有像

这样的字符串
String s = "This is a test string  This is the next part    This is the third part";

并希望获得类似

的数组
String[] sArray = { "This is a test string", "This is the next part", "This is the third part" }

你应该试试

String[] sArray = s.split("\\s{2,}");

{2,}部分定义了拆分需要至少2个且几乎无穷大的空白字符。

答案 3 :(得分:4)

这对我有用。

s.split(/\s+/)

var foo = "first     middle  last";

console.log(foo.split(/\s+/));

答案 4 :(得分:2)

由于split()使用regular expressions,您可以执行类似s.split("\\s+")的操作,将拆分分隔符设置为任意数量的空白字符。

答案 5 :(得分:1)

如何使用Android SDK开箱即用的东西。

TextUtils.split(stringToSplit, " +");