2009-06-02 10 views
1

Ich muss die Aufzählungszeichen aus dem Text entfernen, der aus MS Word eingefügt wurde, aber ich kann nicht herausfinden, auf was abgestimmt werden soll.Ruby: Ersetzen von Aufzählungszeichen eingefügt aus MS Word

Wenn gedruckt das Symbol auf die Standardausgabe zeigt als â ¢ die ASCII-Codes für diese Zeichen sind 194 und 162. den ASCII-Code für • Symbole 149

Irgendwelche Vorschläge, wie entweder in JavaScript oder Ruby-Code, um fortzufahren ?

Antwort

1

In Rubin, sollten Sie in der Lage sein, etwas zu verwenden wie:

mystring.gsub(/[\xxx]/,'whatever')

wo xxx der Zeichencode ist für Sie suchen. Sie können sehen, was dieser Code ist, indem Sie einfach eine puts mystring in irb tun und es sollte Ihnen zeigen

0

Ich hatte ein ähnliches Problem mit den Aufzählungszeichen, einschließlich der Symbole, die Sie beschreiben. Ich habe eine Vielzahl von RegEx-Filtern ausprobiert und konnte weder am Aufzählungspunkt noch an den resultierenden Zeichen etwas zum Laufen bringen.

Allerdings habe ich einen Weg gefunden, den Aufzählungspunkt (oder ein ähnliches Zeichen) mit einer benutzerdefinierten Methode zu filtern. Es ist nicht schön oder ideal, aber es funktioniert:

def strip_bullet_point(value) 
    first_char = 0 
    value.each_char { |c| c =~ /[A-Za-z]/ ? break : first_char += 1 } 

    value[first_char...value.length] 
end 

Dies wird auch alle vorhergehenden Rohlinge und andere nicht alphabetische Zeichen entfernen, da sie auch null für die = ~ Scheck zurück.

Verwenden Sie nicht /[[:alpha:]]/ für die Ausdruckübereinstimmung, da dies die Zeichen ¢ als Buchstaben berücksichtigt. Beachten Sie, dass /[A-Za-z]/ falsch-negative Zeichen für nicht englische Zeichen wie "ñ" gibt.

Verwandte Themen