私が文字列を持っている場合、例えば
s = "david,marko,rita,0 megan,0 vivian,law";
この文字列をに分割する必要があります
david
marko
rita
megan
vivian
law
私は
String arr[] = s.split("[,\\s]");
しかし、機能しませんでした。助言がありますか?
私が文字列を持っている場合、例えば
s = "david,marko,rita,0 megan,0 vivian,law";
この文字列をに分割する必要があります
david
marko
rita
megan
vivian
law
私は
String arr[] = s.split("[,\\s]");
しかし、機能しませんでした。助言がありますか?
次の式を使用できます。
String arr[] = s.split(",0?\\s*");
または多分:
String arr[] = s.split("[,0\\s]+");
どちらが必要かは、例からはわかりません。
あなたの正規表現は: "(、0 |、)"
だからこのコードを試してみてください:
public static void main(String[] args){
String s = "david,marko,rita,0 megan,0 vivian,law";
String[] ss = s.split("(,0 |,)");
for (int i = 0; i < ss.length; i++) {
String string = ss[i];
System.out.println(string);
}
}
String[] arr = s.split(",(0\\s+)*");
正規表現はコンマで分割され、オプションで 0 と 1 つ以上のスペースが続きます。
public static void main(String[] args) {
String s = "da0vid,marko,rita,0 megan,0 vivian,law";
String[] arr = s.split(",(0\\s+)*");
for (int i = 0; i < arr.length; i++)
System.out.println("'"+arr[i]+"'");
}
=>
'da0vid'
'marko'
'rita'
'megan'
'vivian'
'law'
単なるアドバイス複数の値で分割するのではなく、これを試してください
import java.util.*;
class test {
public static void main(String[] args) {
String s = "david,marko,rita,0 megan,0 vivian,law";
System.out.println(Arrays.toString(s.replace("0","").replace(" ","").split(",")));
}
}