Ich habe die Split()
Methode verwendet, um Zeichenfolgen zu trennen, aber das scheint nur zu funktionieren, wenn Sie eine Zeichenfolge durch ein Zeichen aufteilen. Gibt es eine Möglichkeit, eine string
zu teilen, wobei eine andere Zeichenfolge der Split-by-Parameter ist? Ich habe versucht, den Splitter in ein Zeichenarray umzuwandeln, ohne Glück.C# Aufteilen einer Zeichenfolge durch eine andere Zeichenfolge
Mit anderen Worten, würde Ich mag die string
aufzuspalten:
THExxQUICKxxBROWNxxFOX
von xx
, und ein Array mit Werten:
THE QUICK, BROWN, FOX
ich landete tatsächlich zwei Gründe für meine Antwort auf diese Veränderung auf: # 1: den Spagat behandeln ich, ich müsste Regex.Escape verwenden, da meine Split String oft Sternchen tun wollen enthalten usw. # 2: Während dieses Programm brauche ich keine wirkliche Optimierung, da d Es scheint, dass zusätzlicher Aufwand für die Verwendung der Regex-Split-Methode entsteht. – Brandon
Zu meiner Verteidigung schlug Jon Skeet irgendwo vor, Regex zu benutzen, wenn er Saiten mit Saiten als Seperator spaltet, und ich muss zugeben, wenn er etw. Vorschlägt. Ich neige dazu zu glauben, dass es selten ein schlechter Rat ist. ('Obwohl die Chancen sind Sie wollen splitten durch Zeichenfolge statt Zeichen, in diesem Fall werden Sie sehen wollenRegEx.Split') – Peter
@Peter: In diesem Beitrag Jon schlägt es vor, weil das Plakat hat keine feste Begrenzer; er sucht nach Strängen, die durch "mehr als einen Raum" getrennt sind (also 2+). Für Strings, die durch ein * pattern * und nicht durch einen * value * begrenzt sind, ist RegEx eine großartige (na ja, die * einzige *) Option. Bei Begrenzern mit festen Werten führt dies zu unnötigem Overhead. Probiere einen Test aus; Wenn die Anzahl der Operationen steigt, nimmt RegEx ungefähr ~ 10x so lange wie eine entsprechende 'string.split'. –