Entfernen Sie die Formatierung auf string-literal
Angesichts der c# - code:
string foo = @"
abcde
fghijk";
Ich versuche, alle Formatierungen werden entfernt, einschließlich der Leerzeichen zwischen den Zeilen.
Bisher den code
foo = foo.Replace("\n","").Replace("\r", "");
funktioniert, aber der Leerraum zwischen den Linien 2 und 3 und noch gehalten.
Ich nehme an, eines regulären Ausdrucks ist die einzige Lösung?
Dank.
- Haben Sie versucht, foo = foo.replace("\r\n",""); ?
- Dass code, der nicht kompiliert wird, verwenden Sie bitte echte/kompilierbare Beispiele.
- es ist ein Gehäuse-Problem, es ist nicht schwer herauszufinden.
- Es geht nicht um 'austüfteln', es geht darum, präzise. Ich helfe gerne, das macht Spaß, aber selbstgefällig werden in der Korrektur der Seite Online-Probleme, bevor es zu dem eigentlichen problem kann schnell langweilig werden, potenziell verlangsamen den Prozess - für uns und für die OP.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich nehme an, Sie wollen, halten mehrere Zeilen, wenn nicht, würde ich wählen, CAbbott's Antwort.
foo.Split
),fooline.Trim()
)),- string.Join
).foo = string.Concat(s.Split(new string[] { Environment.NewLine }, StringSplitOptions.RemoveEmptyEntries).Select(f => f.Trim()));
Diese behält Leerraum dazwischen jede Zeichenfolge / pro Zeile.Könntest du einen regulären Ausdruck verwenden:
Wie über dieses?
Dies sollte entfernen Sie alles.
Wenn die whitespace-Zeichen sind alle Räume, die Sie nutzen könnten
Für alle anderen Leerzeichen, die kann drin sein, das gleiche zu tun. Beispiel:
0032
und0160
?Fügen Sie einfach ein
Replace(" ", "")
Ihr Umgang mit einem string-literal, das bedeutet für alle white space ist Teil der Zeichenfolge.Probieren Sie etwas wie dieses:
BEARBEITEN: Added code filter nur aus Leerzeichen.
Produziert die folgenden: abcdefghijk
Ich geschrieben habe, etwas ähnliches zu George Duckett aber meine Logik in eine string-extension-Methode, so dass es leichter für andere zu Lesen/konsumieren:
kann man das nennen mag:
Ich hoffe, das hilft jemand