如何将文本拆分为一组句子?
示例文本:
给我炒一只海狸。炒我一只海狸!给我炒海狸?炒我海狸没有。4?!给我煎很多海狸...结束
应该输出:
0 => Fry me a Beaver.
1 => Fry me a Beaver!
2 => Fry me a Beaver?
3 => Fry me Beaver no. 4?!
4 => Fry me many Beavers...
5 => End
我尝试了一些通过搜索在 SO 上找到的解决方案,但它们都失败了,尤其是在第 4 句。
/(?<=[!?.])./
/\.|\?|!/
/((?<=[a-z0-9)][.?!])|(?<=[a-z0-9][.?!]\"))(\s|\r\n)(?=\"?[A-Z])/
/(?<=[.!?]|[.!?][\'"])\s+/ // <- closest one