как разбить рубиновую строку с Regex? - PullRequest
1 голос
/ 05 мая 2019

Привет, я хочу разбить эту строку на следующие.

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 может работать, но я не понял, как это сделать.Не могли бы вы поделиться своей идеей?

1 Ответ

4 голосов
/ 05 мая 2019

Обычно вы хотите разделить пробел после точки, за которой следует заглавная буква:

text.split(/(?<=\.)\s+(?=[[:upper:]])/)

Регулярное выражение будет соответствовать только пробелу \s+, но убедитесь, что ему предшествует точка с использованием положительного взгляда сзади (?<=\.), а затем заглавная буква с использованием положительного взгляда (?=[[:upper:]]).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...