Разделить строку на один пробел - PullRequest
0 голосов
/ 31 мая 2018

У меня есть строка:

s = "alpha beta      gamma delta"

Я пытаюсь разделить эту строку с одним пробелом в качестве разделителя, не удаляя лишние пробелы, чтобы получить это:

["alpha", "beta", "     gamma", "delta"]

IsЕсть ли способ сделать это?

Следующее не дает результатов, которые я хочу:

s.split(" ") # => ["alpha", "beta", "gamma", "delta"]
s.split # => ["alpha", "beta", "gamma", "delta"]

Ответы [ 2 ]

0 голосов
/ 31 мая 2018
s.split(/(?<! ) /)
  #=> ["alpha", "beta", "     gamma", "delta"]

Регулярное выражение соответствует каждому пробелу, которому не предшествует пробел, (?<! ) является отрицательным взглядом сзади .

0 голосов
/ 31 мая 2018

Попробуйте указать границу слова, за которой следует один пробел:

string = "alpha beta      gamma delta"
p string.split(/\b\s/)
# ["alpha", "beta", "     gamma", "delta"]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...