Попытка удалить апостроф в строке. Используя приведенный ниже код, я удалил апостроф и пробелы, может ли кто-нибудь помочь мне исправить это, поэтому я просто удаляю апостроф?
def clean_uniname(text)
return text.gsub!(/\s|"|'/, '')
end
Попытка удалить апостроф в строке. Используя приведенный ниже код, я удалил апостроф и пробелы, может ли кто-нибудь помочь мне исправить это, поэтому я просто удаляю апостроф?
def clean_uniname(text)
return text.gsub!(/\s|"|'/, '')
end
\s
означает «пробельный символ», а "
представляет собой кавычку. Если вы не хотите, чтобы они были в вашем регулярном выражении, потяните их. Для отладки попробуйте Rubular для тестирования.
Это означает, что ваш код должен быть:
def clean_uniname(text)
text.gsub!(/\s|"|'/, '')
text
end
Стоит отметить, что gsub!
возвращает nil
, если не было внесено никаких изменений, поэтому здесь требуется явный возврат text
, если вы используете возвращаемое значение.
Это должно помочь:
def clean_uniname(text)
text.gsub!("'", '')
end
block in process_unis': undefined method
[]' for nil:NilClass (NoMethodError)
- person Akamaru; 22.06.2016
"She said, 'I don't know'"
. Вы хотите получить"She said, 'I dont know'"
(удаление только апострофа) или"She said, I dont know"
(удаление символа"'"
) или что-то еще? Если это первое, то это немного сложно, потому что некоторые слова имеют апостроф после последнего символа (бро', или притяжательная форма для слов, оканчивающихся на s, например, автомобиль Криса), а некоторые слова имеют несколько апострофов (не может уве). - person Cary Swoveland   schedule 22.06.2016