2012-11-04 234 views
4

我正在研究一种数据挖掘算法,我需要使用多个词来标记字符串。我有一个包含所有停用词的单独文件。我需要做的是通过作为分隔符的任何单词(stopword)来标记输入字符串。 例如。
如果文件中包含禁用词为
一个


在java中使用多个分隔符分割字符串


和输入字符串来是
“计算机集群由一组工作松散连接的计算机一起“
输出为
计算机集群包括
集合
级松散连接的计算机
一起工作

检查,对所有禁用词串递归会很耗时?有没有什么好的方法呢?

+2

正则表达式可能会有帮助。 – fonZ

+0

注意:你的意思是“迭代”而不是“递归” – stark

+0

我认为这个:https://code.google.com/p/guava-libraries/wiki/StringsExplained可能会帮助你。但它不解决你的问题。 – user902691

回答

7

构建形式

delim1|delim2|delim3 

的正则表达式,然后使用Stringsplit()方法由任何分隔符的文本分开。

为了构建正则表达式,读取每个分隔符,并在追加到您构建的正则表达式之前将它传递给Pattern.quote。这会让你的分隔符也使用正则表达式元字符。

+0

感谢哥们。有效。 – Ansh

相关问题