Delete non-UTF characters from a string in Ruby?
regex, ruby, string
Solution
You can use encode for that. `text.encode('UTF-8', :invalid => :replace, :undef => :replace)`
Or `text.scrub`
For more info look into Ruby-Docs, replaces it by default with a question mark box.
Problem
How do I delete non-UTF8 characters from a ruby string? I have a string that has for example "xC2" in it. I want to remove that char from the string so that it becomes a valid UTF8. This: ``` text = x = "foo\xC2bar" text.gsub!(/\xC2/, '') ``` returns an error: ``` incompatible encoding regexp match (ASCII-8BIT regexp with UTF-8 string) ``` I was looking at text.unpack('U*') and string.pack as well, but did not get anywhere.