我给了我最好的投篮,这就是我到目前为止的。
String input = "hey,what up man:1033:yes,okay that makes sense ,not: okay:1111, aaaaa,bbbbb";
String input2 = input.replaceAll("(.*)\s([^:,])+\s(.*)", "123");
String arguments[] = input2.split("[:,]");
预期输出:
参数[0] ="嘿";
参数[1] = 男人";
参数[2] =" 1033";
参数[3] =" yes";
参数[4] ="好的";
参数[5] ="非";
参数[6] =" oke";
参数[7] =" 1111";
参数[8] =" aaaaa";
参数[9] =" bbbbb";
我几乎需要能够获得所有10个参数,并在每个定界人士;
和,
以及每个定界者之后的所有whitespace之前立即剥离空格。
如果可以在不替换的情况下单独分开的话,我假设有一些非常专业的正则表达式技能在一个衬里中可以做到任何事情。
您可以通过添加\s*
包含周围定界器周围的空格。尝试这种方式
String arguments[] = input.split("\s*[:,]\s*");
演示:
String input = "hey,what up man:1033:yes,okay that makes sense ,not: okay:1111, aaaaa,bbbbb";
String arguments[] = input.split("\s*[:,]\s*");
for (int i=0; i<arguments.length; i++){
System.out.println(i+")"+arguments[i]);
}
输出:
0)hey
1)what up man
2)1033
3)yes
4)okay that makes sense
5)not
6)okay
7)1111
8)aaaaa
9)bbbbb