0
我想原始文本分割成句子。於是我簡單地使用preg_split()
功能和分割原始文本的基礎上?
,.
和;
發生句子。但正如我所料,我遇到了一些問題,由於.
的一些特殊情況,例如「博士」,「先生」等。剔除pattern_match一些模式在PHP
我該如何排除這樣的詞或patter分裂?
preg_split('/(\.)|(\?)|(\;)!(Mr\.)/', $content);
我想原始文本分割成句子。於是我簡單地使用preg_split()
功能和分割原始文本的基礎上?
,.
和;
發生句子。但正如我所料,我遇到了一些問題,由於.
的一些特殊情況,例如「博士」,「先生」等。剔除pattern_match一些模式在PHP
我該如何排除這樣的詞或patter分裂?
preg_split('/(\.)|(\?)|(\;)!(Mr\.)/', $content);
您可以添加negative lookbehind的正則表達式,以確保該點沒有被「先生」開頭和公司:
preg_split('/((?<!(Mr|Dr))\.|\?|;) /', $content);
我還簡化了正則表達式一點點。還應該考慮在當前表達式的結尾代替單個空間\s|$
(任何空白或輸入的終點)。
感謝@喬恩..... 但是,我們可以預測任何圖案爲如發生特殊模式(博士,先生,女士等) – 2012-08-01 09:50:38