嗨,我想将此字符串拆分为以下内容。
text = "In the last summer, I visited the U.S. with my friend. It was great experience. I loved an ice cream in the U.S. Welcome to U.S.A. pal!"
In the last summer, I visited the U.S. with my friend.
It was great experience.
I loved an ice cream in the U.S.
Welcome to U.S.A. pal!
很显然,我无法应用text.split(".")
或text.split(". ")
。因此,首要原则是字符串将被"."
分割,但缩写词除外。但是,我不知道如何在Ruby中做到这一点。
似乎使用Regex可能有效,但我不知道如何执行此操作。您能分享您的想法吗?
答案 0 :(得分:4)
基本上,您希望在句点之后在空格处进行分割,后跟一个大写字母:
text.split(/(?<=\.)\s+(?=[[:upper:]])/)
正则表达式将仅与空白\s+
相匹配,但请确保在其后加一个在(?<=\.)
之后使用正向后缀的句点,并在其后使用一个正向搜索(?=[[:upper:]])
后的大写字母