Ich habe eine Zeichenfolge mit mehreren Leerzeichen zwischen Wörtern und ich möchte alle Leerzeichen auf nur eins reduzieren.Und nach dem Löschen der Leerzeichen vor und nach [',', '. ','? ','! '] und lass einen Raum nach', '. Können Sie mir mit einem Code helfen?Javascript String ersetzen Leerzeichen vor und nach mehreren Selektoren
Antwort
Ihr Ansatz funktioniert nicht, weil Sie nur den ersten Platz in Ihrem newSeparators
entkommen, während .
und ?
spezielle Regex Metazeichen bleiben und /\ . /
regex entspricht einen Raum, alle Zeichen, ein Leerzeichen und /\ ? /
wird einen optionalen Raum passen und 1 Platz nach.
Ich schlage vor, mit:
/\s*([.!:?])\s*|\s*(,)\s*/g
die regex demo See.
Einzelheiten:
\s*
- 0+ Whitespaces([.!:?])
- Gruppe 1 Erfassung.
,!
,:
oder?
\s*
- 0+ Whitespaces|
- oder\s*(,)\s*
- ein,
zwischen 0+ Whitespaces in Gruppe erfasst 2.
var newSeparators = /\s*([.!:?])\s*|\s*(,)\s*/g;
var data = "word, word . word ! word ? word";
data = data.replace(newSeparators, function($0, $1, $2) {
return $2 ? $2 + " " : " " + $1 + " ";
});
console.log(data);
Ja danke, aber ich habe noch ein Problem. Die Daten, die ich formatieren möchte, sind ein langer Text und ist nicht die ganze Zeit von diesem Typ: Wort, Wort. Wort! Wort? Wort. Manchmal habe ich: Wort, Wort und ich will nur einen Leerraum zwischen Trennzeichen haben. Der Code wird Wort, Wort (mit 2 Leerzeichen nach Komma) –
Ja, und was ist das Problem? Veröffentlichen Sie den Text und erklären Sie, was sich von Ihrer Beispieleingabe unterscheidet. Es ist nicht klar, was du meinst, sorry. Im Moment behebt diese Lösung das Problem im ursprünglichen Post. –
Bitte aktualisieren Sie die Frage –
- 1. alles in String Steigen Sie nach @ und vor Leerzeichen
- 2. Javascript Zeichenfolge ersetzen Leerzeichen mit Leerzeichen nach einem bestimmten Wort
- 3. Leerzeichen in CSS-Selektoren
- 4. HTML-Leerzeichen: Leerzeichen vor und nach <br>
- 5. : nach und: vor Pseudo-Element-Selektoren in Sass
- 6. Javascript String ersetzen Funktion
- 7. String ersetzen (Javascript)
- 8. Javascript ersetzen Inhalt vor sichtbar
- 9. JavaScript ersetzen String fortsetzbar
- 10. Streifen/ersetzen Leerzeichen in einem String
- 11. Leerzeichen vor und nach Gleichheitszeichen, Klammern und andere
- 12. Löschen von Leerzeichen in einem String und setzen eine vor
- 13. String-Wert und boundry Leerzeichen ersetzen, wenn sie
- 14. String-Indizes vor und nach der Transformation
- 15. Javascript Regex String ersetzen nicht ersetzen
- 16. Regex zum Ersetzen bestimmter Zeichen vor und nach bestimmten Teilzeichenfolgen
- 17. Ersetzen von Leerzeichen durch Unterstriche in JavaScript?
- 18. Javascript Split/Join oder Leerzeichen ersetzen global
- 19. String während der Textausdruck ersetzen - Javascript
- 20. Browserkompatibler Zeilenumbruch und Leerzeichen: vor?
- 21. PHP Regex Ersetzen vor und nach unbekannter Zeichenfolge
- 22. Wie nach Leerzeichen vor <? Php?
- 23. Mops - Leerzeichen vor oder nach Wort/Element
- 24. Finden Sie String & Ersetzen Dezimalwert nach dem
- 25. rawurlencode ersetzen Leerzeichen mit &
- 26. Ersetzen Sie Zeichen in String-Array Javascript
- 27. Javascript String ersetzen alle Spannen
- 28. Leerzeichen ersetzen durch Tabulatoren
- 29. Javascript vor und nach Ereignissen für Fenstergröße
- 30. Javascript ersetzen string (Regulärer Ausdruck)
Also im Grunde: "Wie entferne ich Leerzeichen aus einem String?" –
Mögliches Duplikat von [So ersetzen Sie alle Vorkommen einer Zeichenfolge in JavaScript?] (Http://stackoverflow.com/questions/1144783/how-to-replace-all-occurrrences-of-a-string-in-javascript) –
@StephanBijzitter: Nun, gemäß der aktuellen Frageversion ist es nicht. –