我正试图用“。”来分割一串句子。获取数组中的每个句子。如下所示:
$Text = "Hello, Mr. James. How are you today."
$split= explode(".", $Text);
如你所见,$ Text包含2个句子,因此我应该只有2个元素在数组中。我遇到的问题是,有时我的$ Text可以包含像“Mr.”这样的词或任何其他包含“。”的词。在一个句子中间。这将导致句子从中间分割并分别放在数组中,如下所示:
Array ( [0] => Hello, Mr [1] => James [2] => How are you today [3] => )
答案 0 :(得分:0)
如果你可以确保所有英语句子在每个句子的末尾正确间隔 - 连续2个空格,你可以避免很多异常处理和一般的痛苦。处理一些数字化字符串时,这可能很困难,因为有时候多间距会缩小到一个空格。
这就是我的意思:
$Text="Hello, Mr. James. How are you today.";
$split= explode(" ",$Text);
var_export($split);
// array ( 0 => 'Hello, Mr. James.', 1 => 'How are you today.', )
每个space-space
爆炸都会给你一个可靠的结果。
如果您想要良好输出,则需要使用 good 输入。