Parece ser un método muy simple y muy necesario. Necesito eliminar todos los caracteres que no sean ASCII de una cadena. por ejemplo, © etc. Consulte el siguiente ejemplo.Cómo eliminar todos los caracteres que no sean ASCII de una cadena en Ruby
#coding: utf-8
s = " Hello this a mixed string © that I made."
puts s.encoding
puts s.encode
de salida:
UTF-8
Hello this a mixed str
ing © que hice.
Cuando me alimento que esto Watir, se produce el error siguiente: codificación de caracteres incompatibles: UTF-8 y ASCII de 8 bits
Así que mi problema es que quiero para deshacerse de todos los caracteres no ASCII antes de usarlo. No sabré qué codificación utiliza la cadena fuente "s".
He estado buscando y experimentando desde hace bastante tiempo.
Si intento utilizar
puts s.encode('ASCII-8BIT')
Se da el error:
: "\xC2\xA9" from UTF-8 to ASCII-8BIT (Encoding::UndefinedConversionError)
1000.tiempo {puts "6 de 5 estrellas"} - Esto me salvó el tocino Jörg. Gracias por educarme por poder. – lazyPower
para el '{ASCII}' que obtengo 'Codificación :: CompatibilityError: coincidencia de codificación regexp incompatible (expresión regular UTF-8 con cadena ASCII-8BIT)' en ruby 1.9.3 –
para ruby 1.9, .3 necesita usar delete , no el enfoque {ASCII} – jpwynn