Ich rufe eine REST-API auf und erhalte eine XML-Antwort zurück. Sie gibt eine Liste von Arbeitsbereichsnamen zurück, und ich schreibe eine schnelle IsExistingWorkspace()
Methode. Da alle Arbeitsbereiche aus zusammenhängenden Zeichen ohne Leerzeichen bestehen, nehme ich an, dass der einfachste Weg, um herauszufinden, ob ein bestimmter Arbeitsbereich in der Liste enthalten ist, darin besteht, alle Leerzeichen (einschließlich Zeilenumbrüche) zu entfernen und dies zu tun (XML ist die Zeichenkette, die von der Webanforderung empfangen wird):
XML.Contains("<name>" + workspaceName + "</name>");
Ich weiß, dass zwischen Groß- und Kleinschreibung unterschieden wird, und darauf verlasse ich mich. Ich brauche nur eine Möglichkeit, alle Leerzeichen in einer Zeichenfolge effizient zu entfernen. Ich weiß, RegEx und LINQ kann es tun, aber ich bin offen für andere Ideen. Ich bin vor allem nur über die Geschwindigkeit besorgt.
7 Stimmen
Das Parsen von XML mit Regex ist fast so schlimm wie Parsen von HTML mit Regex .
3 Stimmen
@henk holterman; Siehe meine Antwort unten, regexp scheint nicht in allen Fällen die schnellste zu sein.
0 Stimmen
Regex scheint nicht der schnellste zu sein. Ich habe die Ergebnisse vieler verschiedener Methoden zum Entfernen von Leerzeichen aus einer Zeichenkette zusammengefasst. Die Zusammenfassung ist in einer Antwort unten - stackoverflow.com/a/37347881/582061