我原始数据格式的示例:

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.

07-26 06:11