java中的单词

时间:2011-12-20 08:25:49

标签: java regex

我想使用java将文本拆分为单个单词。

SalesCost for State,测试,“2011年10月28日00:00:00”,12

期待结果:

1.SalesCost for state
2.testing
3.“2011年10月28日00:00:00”
4.12

以逗号分隔的拆分不合适。

还有其他解决方案吗? 非常感谢任何建议。

-spk -

4 个答案:

答案 0 :(得分:3)

您是否正在尝试解析CSV文件?看起来像那样。无论如何,你可以试试OpenCSV。您还可以使用它来解析逗号分隔的String并定义转义字符,如引号。

答案 1 :(得分:3)

String.split()使用正则表达式。所以你可以使用负面预测来做到这一点。

尝试这样的事情:

split("(?!\\"),(?!\\")");

我没有尝试过这个特定的正则表达式,但是可以使用它并参考API文档。在一天结束时,这应该有效。

但您似乎只想解析CSV格式。所以,我建议你使用CSV解析器。例如,这一个:http://opencsv.sourceforge.net/

答案 2 :(得分:1)

看起来像CSV。使用http://sourceforge.net/projects/javacsv/

您可以设置列和行分隔符以及文本引用。

答案 3 :(得分:0)

如果您可以在逗号分隔字段之前始终期望空格,则可以始终将其添加到分隔符以避免在日期中分隔逗号。通过任何方式都不是那么灵活,但如果可以安全地使用数据,则可能会更加快捷。