我有一个字符串:
他在家里感觉有点冷,并问助理“什么是 里面的温度?“他认为系统会搞清楚 来自他的Nest恒温器的温度并报告回来 他。相反,谷歌助手去了天气报告 因为,土耳其的度假小镇。
这是我获取所有大写单词的功能:
public static function getUpperCase($str) {
preg_match_all('/\b[A-Z][a-zA-Z]*\b/', $str, $matches);
return $matches[0];
}
我的输出是:
1: "He"
2: "What"
3: "He"
4: "Nest"
5: "Instead"
6: "Google"
7: "Assistant"
8: "Turkey"
我如何获得n-gramms:
1: "He"
2: "What"
3: "He"
4: "Nest"
5: "Instead"
6: "Google Assistant"
7: "Turkey"
所以如果句子中的大写单词之间没有任何单词,我想把单词组合在一起。
答案 0 :(得分:2)
您可以调整正则表达式,以便在初始大写单词匹配后贪婪地搜索空格后跟大写单词的次数。
-