62,614
社区成员
发帖
与我相关
我的任务
分享
String line = "abc,123,\"love123,520\"";
String[] arrs = line.split(正则表达式);
System.out.println(arrs.length);// 3
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Test{
public static void main(String[] args){
String content = "abc,123,\"love123,520\"";
String regex = "(((\"[^\"]*\")|[^\",])*)(,|$)";
Matcher matcher = Pattern.compile(regex).matcher(content);
while(matcher.find()){
System.out.println(matcher.group(1));
}
}
}
(?<!("[^,]{1,1000})),(?![^,]{1,1000}")
(?<!("[^,]+)),(?![^,]+")//没测试过,非jdk8可以试试这条。
String line = "abc,123,\"love123,520\"";
Pattern pa=Pattern.compile("\"(.*?)\"");
Matcher ma=pa.matcher(line);
String rep = null; //被替换的内容
//替换引号里的内容
while(ma.find())
{
line=line.replace(ma.group(),"**");
rep = ma.group();
}
String[] arrs = line.split(",");
//去掉逗号后的内容
for(String a:arrs){
System.out.print(a);
}
System.out.println();
System.out.println(arrs.length); //3
System.out.println(rep);