Okay, also arbeite ich an diesem VB.NET-Programm und ich habe versucht, die .replace(), um dies zu tun, aber es ist nicht der beste Weg, dies zu tun. Ich habe eine Zeichenfolge mit mehreren Leerzeichen zwischen Daten, die ich nicht möchte, was wäre der beste Weg, um die Leerzeichen aus der Zeichenfolge aber 1 zu entfernen?Mehrere Leerzeichen in nur einem ersetzen?
Antwort
Verwenden Sie einen regulären Ausdruck mehrere Räume und ersetzen mit einem einzigen Raum passen:
s = Regex.Replace(s, " {2,}", " ")
Hier ist eine Möglichkeit, Arrays, falls würden Sie es vorziehen, reguläre Ausdrücke zu vermeiden.
diesen Ausgang Zeichenfolge Gegeben:
Dim str As String = "This is a test string"
Sie dies tun können:
Dim arr As String() = str.Split({" "c}, StringSplitOptions.RemoveEmptyEntries)
Dim compressedSpaces As String = String.Join(" ", arr)
Sie auch ihn in einer Zeile kombinieren:
Dim newString As String = String.Join(" ", str.Split({" "c},
StringSplitOptions.RemoveEmptyEntries))
Aus der Antwort von @TimSchmelter ist die RegEx-Option schneller. Jon Skeet sagt, dass dieser Ansatz eine Menge Arbeit für den Garbage Collector erzeugen könnte, abhängig davon, wie lang die Source-Zeichenfolge ist. –
RegEx ist meiner Erfahrung nach selten schneller. Es ist am besten, unter Last zu prüfen, ob Geschwindigkeit ein Faktor ist. IMO Regex sollte aufgrund von Debug/Wartbarkeitsproblemen vermieden werden. – rheitzman
Die RegEx-Lösung ist in diesem Fall schneller. Siehe die Diskussion hier: http://Stackoverflow.com/a/1280227/645511 Ich sollte beachten, dass es sehr nah ist, abhängig von den Details von genau, was Sie wollen. –
- 1. .replace (‘‘, '-') nur erste Leerzeichen ersetzen
- 2. php Ersetzen mehrerer Leerzeichen mit einem einzelnen Leerzeichen
- 3. PHP: Ersetzen doppelte Leerzeichen nur zwischen Nicht-Leerzeichen
- 4. Streifen/ersetzen Leerzeichen in einem String
- 5. Mehrere Nullwertspalten durch Leerzeichen im Tableau ersetzen
- 6. Mehrere Leerzeichen zu einem Leerzeichen zusammenführen; Entferne nachfolgende/führende Leerzeichen
- 7. Javascript Zeichenfolge ersetzen Leerzeichen mit Leerzeichen nach einem bestimmten Wort
- 8. Ersetzen von Leerzeichen in URL
- 9. Ersetzen Sie jedes Leerzeichen nach x Zeichen mit einem "\ n"
- 10. Ersetzen von + durch ein Leerzeichen
- 11. Mehrere Zeichen in einem String ersetzen (XSLT)
- 12. Mehrere Muster in einem Datenblock ersetzen
- 13. Kann MySQL mehrere Zeichen ersetzen?
- 14. ersetzen nachlaufende Punkte mit Leerzeichen
- 15. Streifen führende Leerzeichen nur
- 16. Wie kann ich mehrere Leerzeichen in Perl durch ein einzelnes Leerzeichen ersetzen?
- 17. Komma durch Leerzeichen in nur einem Feld ersetzen - aus einer CSV-Datei
- 18. stream_get_contents Ersetzen plus mit Leerzeichen
- 19. Linux - Ersetzen von Leerzeichen in den Dateinamen
- 20. Regex - ersetzen Leerzeichen in Zeile (Notepad ++)
- 21. Mehrere ersetzen in VB.NET
- 22. Mehrere Symbole ersetzen funktioniert nicht
- 23. Ersetzen von Leerzeichen durch Unterstriche in JavaScript?
- 24. PHP str_replace() - Ersetzen durch Leerzeichen Alternative?
- 25. ersetzen mehrere Tabelleninformationen in Mysql
- 26. Spiel nur Leerzeichen innerhalb {}
- 27. Ersetzen Sie bestimmte Leerzeichen zu Tabs - Trennzeichen
- 28. Java-URL-Parameter ersetzen% 20 durch Leerzeichen
- 29. Pandas Dataframe ersetzen Leerzeichen mit NaN
- 30. Sublime - Mehrere Wort ersetzen
Ordentlich! Es funktioniert perfekt, danke, der ganze Code, den ich gerade auf anderen Threads gefunden habe, ist wirklich groß und unhandlich, was ich nicht will, das funktioniert perfekt, und tut mir leid für das Duplikat! – bloodless2010
@Guffa, kannst du bitte das Muster erklären, das du benutzt hast. – MansoorShaikh
@MansoorShaikh: Es ist nur ein Leerzeichen, gefolgt vom Quantifizierer '{2,}', so dass es mit einem Leerzeichen übereinstimmt, das zwei- oder mehrmals wiederholt wird. – Guffa