2014-01-14 3 views
2

Мой файл частьКак удалить все пробелы?

string = " hello! "; 
puts string.replace(" ") 

но замена привет! тоже

Я хочу только привет! быть как в TRIM() функции

+1

Любопытное повторяющийся вопрос. Проверить здесь: http://stackoverflow.com/questions/1634750/ruby-function-to-remove-all-white-spaces –

+0

Нет научно-исследовательской работы. Вы знаете о 'trim', Googling« рубиновая отделка »привела бы вас прямо к ответу. – meagar

ответ

5

Смотрите документацию на String#replace почему он не работы, как ожидалось (это досадная функция с запутанным именем в результате того, что в Ruby строки изменяемы):

Заменяет [все] содержимое [строки] и taintedness of str с соответствующими значениями в other_str.

Вы, вероятно, хотите String#strip, который ведет себя как «TRIM» в других контекстах:

Возвращает копию с ул начальные и конечные пробелы удаляются.

" Hello world! ".strip # => "Hello world!" 

(Если вы хотите, чтобы удалить пробелы везде см String#gsub - я дам вам посмотреть, что один вверх.)

2

Вы можете string.gsub(" ", "") и получить hello! наконец.

Надеюсь, это поможет.

1

Я хотел бы использовать String#tr

irb(main):001:0> s = " hello! " 
=> " hello! " 
irb(main):002:0> s.tr(" ","") 
=> "hello!" 
irb(main):003:0> 
Смежные вопросы