真正快速的Java函数来分割字符串而不影响引用的字符串?

Rob*_*ler 0 java regex performance split tokenize

我需要一个非常快的字符串拆分函数,它会拆分逗号分隔的字符串,而不会拆分包含逗号的双引号中的字符串.有没有这样做的功能?如果最好通过正则表达式处理,请指出必要的模式,如果适用,请告诉我任何我应该了解的速度优化提示.例如,如果有一种方法以这样的方式调用正则表达式,即不需要每次都重新评估正则表达式模式等.此函数将在短时间内被调用数千次.

注意,我确实在SO上看到了正则表达式帖子,如下所示:

正则表达式以逗号分割,除非引用

但它们是C#和其他语言,而不是Java.此外,如果有一个非正则表达式方法更快,我想知道它,如上所述.

- roschler

Moe*_*tar 6

听起来你正试图解析CSV格式的字符串/文件?

如果是这样,也许你不必自己编写代码.检查apache commons库以进行CSV解析:

http://commons.apache.org/sandbox/csv/

  • +1顺便说一句,在阅读你的答案时,我忍不住想起了微软回形针:) (3认同)