提取以特定字符分隔的字符串数据,字符以逗号分隔","每个数据用单引号"'"相括。如:'123','营业执照延期','2009-2-01-25','生产许可证延期','2,2,3'。
需要提取的数据是:123 营业执照延期 2009-01-25 生产许可证延期 2,2,3
数据中可以出现逗号,但不可以出现单引号。
用java正则和api怎样解决?
小弟不太会正则表达式
楼上的大大是故意把简单的东西复杂化吗?
[code]import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegTest {
public static void main(String[] args) {
Pattern p = Pattern.compile("'(.*?)'(?=,|$)");
Matcher m = p.matcher("'123','营业执照延期','2009-2-01-25','生产许可证延期','2,2,3'");
while(m.find()){
System.out.println(m.group(1));
}
}
}[/code]
[code="java"]
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegTest {
public static void main(String[] args) {
Pattern p = Pattern.compile("'{1}[^']{0,}'{1}");
Matcher m = p.matcher("'123','营业执照延期','2009-2-01-25','生产许可证延期','2,2,3'");
while(m.find()){
System.out.println(m.group());
}
}
}[/code]
干嘛非得要正则表达式哦,直接用
[code="java"]
public static void main(String[] args) {
String str = "'123','营业执照延期','2009-2-01-25','生产许可证延期','2,2,3'";
String[] temp = str.substring(1,str.length()-1).split("','");
for(String sontemp:temp){
System.out.println(sontemp);
}
}
[/code]
既然对正则表达式不熟悉,这样不是更好理解么?