我原始数据格式的示例:
196 242X 3
186 B302 3
22 BO377 1
为了提取数据,我沿着定界符(
\t
)进行了分割: EventDAO dao = new SimpleFileRatingDAO(inputFile, "\t");
但是,我的数据格式更改为如下形式:
"196";"242X";"3"
"186";"B302";"3"
"22";"BO377";"1"
是否有与我以前的方法类似的正则表达式可用于提取数据?
最佳答案
您的新reg Exp应该匹配两个分隔符(如果它们不出现在数据中)
"[\t|;]"
SimpleFileRatingDAO似乎允许使用正则表达式:
它使用调用String.split(str)的对象类:
enter code hereEventDAO dao = new SimpleFileRatingDAO(inputFile, "[\t|;]");
造成:
myLine.split("[\t|;]")
如果您的数据可能包含那些分隔符,但仅包含在引号之间:仅当逗号为零或引号是偶数时,才需要对逗号进行分割:
"[\t|;](?=([^\"]*\"[^\"]*\")*[^\"]*$)"
Thanks to Bart Kiers who inspire me.