请告诉我如何制作正则表达式来分隔单词。假设存在字符串
String s = "I have dog, cat, gold fishes. My cat eats : milk, fish, etc.."
我需要基于字符串的字符串数组,它看起来像
String[] words = s.split(regexp)
[我,有,狗,猫,黄金,鱼,我的,猫,吃的,牛奶,鱼等]
因此regex必须忽略空格和标点符号(点、逗号、?、!、)
这应该有效:
String[] words = s.split("[\s,.:]+");
要包含所有标点符号,请使用p{Punct}
:
String[] words = s.split("[\s\p{Punct}]+");