2012-03-28 21 views
1

Wir haben den Aufruf von Brill-Tagger aus unserem C# -Code implementiert. Wir müssen nur wissen, was der richtige reguläre Regex-Ausdruck ist, um alles aus einer Zeichenkette zu entfernen, aber jst hält a-z, A-Z, Punkt und Komma. Wir haben [^a-zA-Z\.\,] auf dem Online-Tester für reguläre Ausdrücke versucht und es gibt das korrekte Ergebnis, aber wenn es in C# implementiert wird, funktioniert es nicht richtig. Wir haben auch einige andere Kombinationen ausprobiert, aber wir bekommen nicht das richtige Ergebnis.Regex Regulärer Ausdruck in C#

Dies ist das Format, in dem wir schreiben:

strFileContent = Regex.Replace(strFileContent, @"[^a-zA-Z\.\,]", ""); 

aber wir sind nicht die gewünschte Ausgabe zu bekommen. Was ist falsch??

+0

Es ist kein Zufall, dass die Unescaped-Periode? –

+1

Das Problem ist nicht mit Ihrer Regex. Was meinst du mit "es funktioniert nicht richtig"? – SkonJeet

+0

Ich mag, wie das Problem herausgeschnitten wurde und jetzt fragen sich alle, was vor sich geht. Der obige Regex funktioniert, er war vorher defekt. – Coincoin

Antwort

1

Regex.Replace(yourString, @"[^a-z\.\,]", string.Empty, RegexOptions.IgnoreCase)

EDIT: ich nichts falsch mit sehen können, was Sie tun, ist meine Antwort ist genau das gleiche. Ich habe beide in LINQPad getestet und sie beide das gleiche Ergebnis zurückgeben.

+0

Ich habe genau das gleiche Regex in meiner Anwendung und es funktioniert einwandfrei. Es sollte funktionieren! : / – Alexandre