split一段数据,用逗号做分割符。 数据中可能本身有逗号,所以前面加了\表示这个逗号是转义。这个不是我设计的,所以输入就是这个样子了。
现在读取的时候要分段,复杂一点当然有办法搞定这个,但是我想问有没有办法让split直接搞定的? String mm = "this,is,a\\, test";
String[] rst = mm.split("[^\\\\]\\,");
for (String x: rst){
System.out.println(x);
}这个结果不对:
thi
i
a\, test请求支援!
现在读取的时候要分段,复杂一点当然有办法搞定这个,但是我想问有没有办法让split直接搞定的? String mm = "this,is,a\\, test";
String[] rst = mm.split("[^\\\\]\\,");
for (String x: rst){
System.out.println(x);
}这个结果不对:
thi
i
a\, test请求支援!
public String[] split(String regex, int limit) {
return Pattern.compile(regex).split(this, limit);
}这个需要再想想,建议楼主把问题导向为这个方向。
String mm = "this,is,a\\, test";
String[] rst = mm.split("(?![\\\\])[,]");
for (String x: rst){
System.out.println(x);
}
String mm = "this,is,a\\, test";
String[] rst = mm.split("(?<![\\\\])[,]");
for (String x: rst){
System.out.println(x);
}
这个是表示 ,前不为\的匹配 LZ想要的结果应该是这个吧之前写的那个刚好反过来,,后不为\的匹配
String[] rst = mm.split("\\\\,");
for (String x: rst){
System.out.println(x);
}没看懂你在说什么
2.split之后,将数组中的所有@再替换为逗号。