如何制作将行分为单词的正则表达式

时间:2014-11-08 16:48:41

标签: java regex

请告诉我如何使正则表达式分隔单词。 让我们假设有字符串

String s = "I have   dog, cat,    gold       fishes.    My cat   eats :      milk,    fish, etc.."

我需要基于该字符串的String数组,看起来像

 String[] words = s.split(regexp)

[我,有,狗,猫,金,鱼,我的,猫,吃,牛奶,鱼等]

所以正则表达式必须忽略空格和标点符号(点,逗号,?,!)

1 个答案:

答案 0 :(得分:1)

这应该有效:

String[] words = s.split("[\\s,.:]+");

要包含所有标点符号,请使用\p{Punct}

String[] words = s.split("[\\s\\p{Punct}]+");