[code]1,AAA,ddd,"1142"
2,BBB,ccc,"299.00"
3,CCCC,fff,"209850"
4,DDDDD,aaa,"001526"
5,FF,fffffffff,"med"
6,SSSS,ddddddd,"3202"
7,Autism,dsssssssssss,"D001321"
8,BBB,aaaaaaa,"shandong or shangxi"
9,QQQ,kkkkkkkkk,"shandong, shanxi"
10,KKK,bbbbbbbbbb,"shandong, shanxi"[/code]如上内容,用逗号分割成4份,但是不包括引号内的逗号.
另外分割两份,第一份是序号,第二份是剩下的内容。
每部分的内容不定。
2,BBB,ccc,"299.00"
3,CCCC,fff,"209850"
4,DDDDD,aaa,"001526"
5,FF,fffffffff,"med"
6,SSSS,ddddddd,"3202"
7,Autism,dsssssssssss,"D001321"
8,BBB,aaaaaaa,"shandong or shangxi"
9,QQQ,kkkkkkkkk,"shandong, shanxi"
10,KKK,bbbbbbbbbb,"shandong, shanxi"[/code]如上内容,用逗号分割成4份,但是不包括引号内的逗号.
另外分割两份,第一份是序号,第二份是剩下的内容。
每部分的内容不定。
解决方案 »
- 线程优先级问题
- 请教各位大侠,如何根据JTabel 的内容来决定他的列是否可编辑?
- if(null != myString),这里的null为什么放在前面?有意义么?
- int [][][] i=new int [3][3][];
- ×——×请教关于new,Class.forname, getClass().forname()的区别×——×
- 虚心请教,我使用了JTable控件,我想把某个列不显示。
- 请问在更新数据库操作,如何实现事务。
- 刚学了两天Java,觉得Java与C#颇多相似之处?
- 求教:java 的 socket 只能连接一次?
- JAVA 数组问题 萌新求助
- 想再改写String 类的toString方法,却发现String是final的。怎么办?
- 求助,当jtable选择的行改变时,会触发什么事件???就是本来是第一行,现在跳到第二行,这个动作会触发什么事件?
2,Data,asdf,"33211.00"
3,Data,fdsa,"32131"
4,Data,gdas,"4125532"
5,Data,fdsaasdf,"asd"
6,Data,fdsaf,"1251"
7,Data,adfss,"D001321"
8,Data2,fdasfad,"AAA or BBB"
9,Data2,fdsafd,"AAA, BBB"
10,Data2,fdsa,"CCC, DD"这是数据。
[10], [Data2], [fdsa], ["CCC, DD"]
和
[10], [Data2, fdsa, "CCC, DD"]
import java.util.regex.Matcher;
import java.util.regex.Pattern;public class DataReg {
public static void main(String[] args) {
Pattern p = Pattern.compile("^(\\d{1,}),(\\w{1,}),(\\w{1,}),(.{1,})$");
Matcher match = p.matcher("10,Data2,fdsa,\"CCC,DD\"");
if(match.find()){
System.out.println(match.group(1)+" " +match.group(2)+" "+match.group(3)+" "+match.group(4));
}
}
}
public static void main(String[] args) {
String str = "10,Data2,fdsa,\"CCC, DD\"";
String arr[] = str.split(",(?!=.+?\")");
System.out.println(java.util.Arrays.toString(arr));
Matcher m = Pattern.compile("(\\d+),(.*)").matcher(str);
if(m.find()){
System.out.println(m.group(1)+"========="+m.group(2));
}
}
public static void main(String[] args) {
String str[] = {"1,Data,fdsss,\"51515\"",
"2,Data,asdf,\"33211.00\"" ,
"9,Data2,fdsafd,\"AAA, BBB\"" ,
"123,Data2,fdsa,\"CCC, DD\""};
for(String sample:str){
String s1[] = sample.split(",(?!(?:\\s*\\w+)\")");
System.out.println(Arrays.toString(s1));
String s2[] = sample.split(",(?!(?:\\s*\\w+)\")", 2);
System.out.println(Arrays.toString(s2));
}
}
public static void main(String[] args) {
String str = "10,\"CCC,中国,FF,HH\",fdsa,\"CCC,EE\"";
String s1[] = str.split(",(?!([^,\"]+(,[^,\"]+)*)\")");
for(String s : s1){
System.out.println(s);
}
System.out.println("---------------------");
String s2[] = str.split(",(?!([^,\"]+(,[^,\"]+)*)\")",2);
for(String s : s2){
System.out.println(s);
}
}
String []s2=str.spilt(",",3);
如果数据格式不变的话 这个方法应该可以