[TxMt] Re: Compare two strings ignoring multibytes
James Edward Gray II
james at graysoftinc.com
Fri Aug 21 01:00:52 UTC 2009
On Aug 20, 2009, at 6:37 PM, Juan Falgueras wrote:
> desperate looking for a way of a more relaxed way of searching a
> string inside another, we need not to take into the account not only
> the case
>
> s = "Abc"
> if s =~ /abc/i then
> …
>
> but also if you have forgotten an accent, etc:
>
> s = "áBc"
> if s =~ /abc/i then
> …also should match!
>
> Changing the encoding to the simplest one: ASCII, does not work since
> iconv, nor ruby force_encoding() work and gives you errors in case you
> try to convert "á" to "a"
This might be one option for you:
$ irb -KU -r iconv
>> s = "áBc"
=> "áBc"
>> Iconv.conv("ASCII//TRANSLIT//IGNORE", "UTF-8",
s).downcase.delete("^a-z") =~ /abc/
=> 0
I hope that helps.
James Edward Gray II
More information about the textmate
mailing list