B Seven
B Seven

Reputation: 45943

How to write gsub with curly quotes for UTF-8 strings?

I am writing an extension method for the String class to clean up non-ASCII characters. The strings that I am cleaning are UTF-8.

When using non-ASCII characters in a file, the console will not start because it is interpreting the curly quotes as regular quotes.

How to escape the curly quote in gsub?

How to write a gsub that uses the unicode for curly quotes (U+201C, for example).

Working in Rails 3.07 and Ruby 1.9.2.

Upvotes: 7

Views: 3541

Answers (1)

mu is too short
mu is too short

Reputation: 434635

You can use the same \u escapes in regexes that you'd use in double quoted strings:

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

For example:

>> s = "\u201Cpancakes\u201d"
=> "“pancakes”"
>> puts s.gsub(/[\u201c\u201d]/, '"')
"pancakes"

Upvotes: 14

Related Questions