我使用了许多不同的正则表达式字符串,它们都做同样的事情。
我的 .csv 的一行如下所示:
"999","Location","Alt. fare key","Table ID","Address","Line 2","City","State",19111,,,H,, 等...... ..(有 139 列。
如您所见,一些条目用引号分隔,而另一些则没有。另外,引号与否。每个条目都用逗号分隔。
以下是我使用的两个正则表达式字符串示例:
String regex = "(?:(?<=\")([^\"]*)(?=\"))|(?<=,|^)([^,]*)(?=,|$)"
Object[] tokens = strLine.split(regex);
model.addRow(tokens);
jTable1.setModel(model);
和
String regex = ",(?=([^\"]*\"[^\"]*\")*[^\"]*$)"
Object[] tokens = strLine.split(regex);
model.addRow(tokens);
jTable1.setModel(model);
两者都做同样的事情。
假装下面的 |(s) 是我的 jTable 的行:
“999”|“位置”|“备用票价键”|“表 ID”|“地址”|“第 2 行”|“城市”|“州”|19111| | |H|
我希望它像这样出来:
999|位置|Alt. 票价键|表 ID|地址|第 2 行|城市|州|19111| | |H| ETC.....
正则表达式还需要什么来删除不需要的括号?
提前感谢您的帮助。JB