如果我有一个字符串,例如
s = "david,marko,rita,0 megan,0 vivian,law";
我需要将此字符串拆分为
david
marko
rita
megan
vivian
law
我正在尝试
String arr[] = s.split("[,\\s]");
但没有奏效。有什么建议吗?
答案 0 :(得分:3)
你可以使用这个表达式:
String arr[] = s.split(",0?\\s*");
或者甚至可能:
String arr[] = s.split("[,0\\s]+");
从示例中不清楚您想要哪一个。
答案 1 :(得分:0)
你的正则表达式是:“(,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);
}
}
答案 2 :(得分:0)
只是一个建议 而不是分裂多个值尝试这个
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(",")));
}
}
答案 3 :(得分:0)
你可以试试这个:
public class SplitTest {
public static void main(String[] args) {
String inputString = "david,marko,rita,0 megan,0 vivian,law";
String splits[] = inputString.split(",0?\\s*");
for (String split : splits) {
System.out.println(split);
}
}
}
答案 4 :(得分:0)
String[] arr = s.split(",(0\\s+)*");
正则表达式在逗号上分割,后跟可选的0和一个或多个空格。
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'