2014-09-12 3 views
0

GSUB не работает, как ожидалось ...рубин не GSUB работает

У меня есть строка numbers следующим образом: numbers="88 99"

Я хочу, чтобы заменить space с slash. Поэтому я попытался следующее:

numbers.gsub(/\s/,"/") и получил следующую строку: 88//99

я получаю двойной слэш вместо одной косой черты. Кроме того, если я хочу сделать что-то вроде:

numbers.gsub(/\s/,"/")

я не могу! Так как дополнительные пробелы исчезают ...

Я что-то не так?

Спасибо!

+0

Может быть, 'numbers.gsub (/ \ s + /,"/")'? Работает на меня. – zishe

ответ

2

gsub() работает нормально. Используя пример вы размещены:

$ irb 
>> numbers="88 99" 
=> "88 99" 
>> numbers.gsub(/\s/, '/') 
=> "88/99" 

Фактическая строка, очевидно, имеет несколько пробельных символов, и каждый из них заменяется косой чертой. @zishe дал решение заменить последовательность из нескольких пробельных символов:

>> numbers="88 99" 
=> "88 99" 
>> numbers.gsub(/\s+/, '/') 
=> "88/99" 

\s+ соответствует последовательности из одного или более пробельных символов.

+0

Это сработало, но не тогда, когда я хочу добавить лишние пробелы вокруг косой черты! – user3442206

+1

Необходимо показать код, который вы используете. Не вижу этой проблемы. – showaltb

Смежные вопросы