web-dev-qa-db-ja.com

複数のスペースで文字列を分割する

のような文字列を分割したい

_"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"}_ですが、どのようになのかわかりません。

助けてくれてありがとう!

48
smarti02

split() の引数は 正規表現 であるため、1つ以上のスペース(" +")1つのスペース(" ")。

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

これを使用してみてくださいs.split("\\s+");

25
Anurag Ramdasan

のような文字列がある場合

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個からほぼ無限の空白文字が必要であることを定義します。

8
Roman Vottner

これは私のために働いた。

s.split(/\s+/)
var foo = "first     middle  last";

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

split()正規表現 を使用するため、s.split("\\s+")のような操作を実行して、任意の数の空白文字に分割区切り文字を設定できます。

2

Android SDK。

TextUtils.split(stringToSplit, " +");
1
JaydeepW