Вопрос

Я пишу метод расширения для класса строки, чтобы очистить не ASCII символы. Строки, которые я убираю, являются UTF-8.

При использовании не ASCII символов в файле консоль не запускается, потому что она интерпретирует кудрявые кавычки как обычные цитаты.

Как избежать вьющейся цитаты в GSUB?

Как написать GSUB, который использует Unicode для вьющихся кавычек (например, U+201C).

Работа в Rails 3.07 и Ruby 1.9.2.

Это было полезно?

Решение

Вы можете использовать то же самое \u Убегает в режиме, которые вы бы использовали в двойных цитированных струнах:

s.gsub(/[\u201c\u201d]/, '"')

Например:

>> s = "\u201Cpancakes\u201d"
=> "“pancakes”"
>> puts s.gsub(/[\u201c\u201d]/, '"')
"pancakes"
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top