я хочу, чтобы избавиться или удалить последний «ж» из «WEW», но не первого «ш». в то же время я хочу, чтобы удалить «W» символ из «как» слишком.
str = "Hello how are you doing? how are wew"
str.gsub!(/w\b/, "")
puts str
--output:--
Hello ho are you doing? ho are we
\b
в регулярное выражение означает «граница слова», который просто означает, что искать, не «слово» характер. Символами слова являются [A-Za-z0-9_]. Поэтому регулярное выражение w\b
ищет «w», за которым следует что-то, что не является [A-Za-z0-9_]. Сложная вещь о \b
том, что она может также соответствовать осколок небытия в начале или в конце строки:
"abcw"
^
|
Эта строка содержит «W» следуют границе слова. И эта строка:
"wabc"
^
|
... начинается с границы слова, а затем «w».
Наконец, \b
на самом деле ничего не соответствует - он просто гарантирует наличие границы текста, поэтому регулярное выражение w\b
будет соответствовать только «w».
Непонятный вопрос. Вы хотите опустить буквы, не удаляя их? Если ваша цель состоит в том, чтобы распечатать строку без w, вы можете сделать это множеством способов, но ваш 'puts (string.chomp ('w')) будет казаться правильным; он выводит «Привет, как дела, как мы», с окончательным 'w' опущенным. Вы заметите, что если вы будете делать 'puts string', вы увидите, что' w' все еще существует. –
Просьба уточнить вашу конкретную проблему или добавить дополнительные сведения, чтобы точно указать, что вам нужно. Как написано в настоящее время, трудно сказать, что именно вы спрашиваете. См. [Как задать хороший вопрос?] (Http://stackoverflow.com/help/how-to-ask). – DavidPostill
yes Я хочу удалить весь последний символ «w» из этой строки. Например, я хочу избавиться или удалить последнюю «w» от «wew», но не сначала «w». Но в то же время я также хочу для удаления символа «w» из «how». – Amatya