我想分割一个像
这样的字符串"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"}
但无法弄清楚如何。
感谢您的帮助!
答案 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, " +");