Ich versuche, Code in C# zu erhalten, um den Anfang oder das Ende eines Strings zu überprüfen und zu sehen, ob es "\ r \ n" an einem dieser Orte hat und wenn ich will Diese Charaktere wurden entfernt. Ich möchte diese Zeichen nicht entfernen, wenn sie nicht am Anfang oder am Ende sind.Verwenden von Regex zum Ersetzen von Sonderzeichen
ex:
string tempStringA = "\r\n123\r\n456\r\n";
string tempStringB = "\r\n123\r\n456";
string tempStringC = "123\r\n456\r\n";
tempStringA, tempStringB und tempStringC würden alle geworden "123 \ r \ n456"
Ich verstehe es so, dass die CRLF nur entfernt werden muss, wenn die Zeichenfolge mit CRLF beginnt und endet. Wenn nur eine Instanz entfernt werden muss, können Sie 'Regex.Replace (s, @" \ A \ r \ n (. *) \ R \ n \ z ", RegexOptions.Single)' verwenden. Ein non-regex-Weg wird immer noch bevorzugt: 'if (s.EndsWith (" \ r \ n ") && s.StartsWith (" \ r \ n ")) s = s.Substring (1, s.Length-2) ' –
@KGreve Ich habe Ihre Frage noch einmal überprüft, um zu sehen, ob ich für die Antwort ausgewählt wurde. Ich sehe, dass Sie zwei weitere Zeichenfolgen als Beispiele hinzugefügt haben, die nicht da waren, als ich antwortete. Ich überprüfte beide neuen Zeichenfolgen und sie haben immer noch die \ r \ n mit meiner Antwort entfernt. Gibt es ein Problem mit der Antwort? –