4 Stimmen

Zu entfernen sind \n und \" aus dem Inneren einer Zeichenkette

Zuvor hatte ich Hilfe von einem Benutzer, der mir erklärte, wie man Text in spitzen Klammern innerhalb einer Zeichenkette entfernt. Dieser Benutzer schlug folgendes vor und ich akzeptierte es:

var a = "some text follows<p><p>Give the following test text:</p>"
var newString = Regex.Replace(a, @"<(.|\n)*?>", string.Empty);

Jetzt weiß ich, dass ich noch ein bisschen mehr entfernen muss. Wenn ich mir den Inhalt der Zeichenfolge ansehe, sehe ich in der endgültigen Zeichenfolge immer noch einige Instanzen von Backslash n und Backslash Anführungszeichen. \n und \"

Gibt es eine einfache Möglichkeit, wie ich alle Instanzen von \n und \", die in meiner Zeichenfolge erscheinen. Idealerweise durch Hinzufügen von mehr zu der oben genannten Regex?

3voto

Saher Ahwal Punkte 8528

Was ist, wenn Sie String.Replace Funktion

myString.Replace("\n", "");
myString.Replace("\\"", "");

Kannst du diese Arbeit nicht umgehen?

0voto

Arjun Shetty Punkte 1547

Ich hoffe, das hilft

newString.Replace("\"","").Replace("\n","");

Ich werde trotzdem versuchen, es mit Regex zu machen.

-1voto

Ben Jakuben Punkte 3137

Ich habe auf rubular.com herumgespielt und bin auf diesen regulären Ausdruck gestoßen. Sie können weitere Prüfungen hinzufügen, indem Sie die vertikale Pipe als Trennzeichen verwenden:

<(.|\n)*?>|\\n|\\"

Ihr Code würde also wie folgt aussehen (obwohl Sie möglicherweise das zusätzliche Anführungszeichen in der Regex ausblenden müssen):

var a = "some text follows<p><p>Give the \n following \"test\" text:</p>" 
var newString = Regex.Replace(a, @"<(.|\n)*?>|\\n|\\"", string.Empty);

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X