Заменить пробел на AND в рубине - PullRequest
4 голосов
/ 25 января 2010

У меня есть кто-то, вводящий форму с некоторым вводом строки. Что мне нужно сделать, это заменить все пробелы в строке на «И» (без кавычек). Какой лучший способ сделать это?

Кроме того, как бы я поступил так, если бы хотел удалить все пробелы в строке?

Спасибо

Ответы [ 3 ]

12 голосов
/ 25 января 2010

заменить на и:

s = 'this has   some     whitespace'
s.gsub! /\s+/, ' AND '

=> "this AND has AND some AND whitespace"

для полного удаления:

s = 'this has   some     whitespace'
s.gsub! /\s+/, ''

=> "thishassomewhitespace"
4 голосов
/ 25 января 2010

Разделение и соединение - еще одна техника:

s = "   a   b   c   "
s.split(' ').join(' AND ')
# => "a AND b AND c"

Это имеет преимущество в том, что игнорирует начальные и конечные пробелы, чем в RE Питера:

s = "   a   b   c   "
s.gsub /\s+/, ' AND '
# => " AND a AND b AND c AND "

Удаление пробелов

s.split(' ').join('')
# or
s.delete(' ')  # only deletes space chars
1 голос
/ 20 июля 2015

использовать метод gsub для замены пробелов

 s = "ajeet soni"

 => "ajeet soni" 

 s.gsub(" "," AND ")

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