Übereinstimmendes spezifisches Unicode-Zeichen in haskell regexp

8

Dies ist ein Mac / OSX-Problem!

Ich habe die folgende drei Zeichen lange Haskell-Zeichenfolge:

%Vor%

Ich möchte das mittlere Zeichen anpassen und ersetzen

Mehrere Ansätze wie

%Vor%

führte nicht zum gewünschten Ergebnis.

Wie muss ich den regulären Ausdruck oder meine Umgebung ändern, um das '\ 160' durch das 'X' zu ersetzen?

Das Problem scheint seine Wurzel im Gebietsschema / Kodierung der Eingabe zu haben.

%Vor%

Ich habe bereits meine .bashrc geändert, um die folgenden env-vars zu exportieren:

%Vor%

Aber das hat das Verhalten überhaupt nicht verändert.

    
Axel Tetzlaff 18.02.2011, 23:24
quelle

2 Antworten

5

Ich konnte Ihr Problem reproduzieren, indem ich mein Gebietsschema auf 'en_US.UTF-8' setzte. (Ich benutze auch MacOSX.)

%Vor%

Wenn Sie Ihr Gebietsschema auf "C" setzen, sollte das Problem behoben sein:

%Vor%

Leider habe ich keine Erklärung, warum das Gebietsschema dieses Problem verursacht.

    
David Powell 24.02.2011 04:26
quelle
2

Gibt es einen bestimmten Grund, warum Sie reguläre Ausdrücke verwenden möchten und nicht einfach map ?

%Vor%

Wenn Sie mit Unicode-Zeichenfolgen arbeiten möchten, ist es wahrscheinlich einfacher, das Paket text zu verwenden, das Unicode verarbeiten soll, und effizienter als String für größere Zeichenfolgen.

    
nominolo 19.02.2011 11:58
quelle

Tags und Links