660 Stimmen

So entfernen Sie alle Zeilenumbrüche aus einer Zeichenkette

Ich habe einen Text in einer Textarea und lese ihn mit dem Attribut .value aus.

Jetzt möchte ich alle Zeilenumbrüche entfernen (das Zeichen, das entsteht, wenn Sie die Taste Enter ) aus meinem Text zu entfernen, indem ich .replace mit einem regulären Ausdruck verwende, aber wie gebe ich einen Zeilenumbruch in einer Regex an?

Wenn das nicht möglich ist, gibt es eine andere Möglichkeit?

0 Stimmen

25voto

omni Punkte 3414

Wenn Sie alle Steuerzeichen, einschließlich CR und LF, entfernen möchten, können Sie dies verwenden:

myString.replace(/[^\x20-\x7E]/gmi, "")

Es werden alle nicht druckbaren Zeichen entfernt. Diese sind alle Zeichen NICHT innerhalb des ASCII-HEX-Raums 0x20-0x7E . Sie können den HEX-Bereich nach Bedarf ändern.

2 Stimmen

Dadurch werden auch einige nationale Zeichen aus anderen Sprachen als Englisch entfernt....

0 Stimmen

Danke! Das war perfekt für mich. Ich hatte Zeilenumbrüche, die nicht waren \n und es hat mich verrückt gemacht

20voto

Jaman-Dedy Punkte 557

Dadurch wird der Zeilenumbruch durch ein Leerzeichen ersetzt.

someText = someText.replace(/(\r\n|\n|\r)/gm,"");

Lesen Sie mehr auf este Artikel.

18voto

Gordon Freeman Punkte 881
var str = "bar\r\nbaz\nfoo";

str.replace(/[\r\n]/g, '');

>> "barbazfoo"

17voto

Si7ius Punkte 567

Um neue Zeilenzeichen zu entfernen, verwenden Sie dies:

yourString.replace(/\r?\n?/g, '')

Dann können Sie die Zeichenkette kürzen, um führende und nachgestellte Leerzeichen zu entfernen:

yourString.trim()

13voto

aProgger Punkte 474

Ich verwende diese Regex oft für (Html-)Zeichenketten innerhalb von Jsons:

replace(/[\n\r\t\s]+/g, ' ')

Die Strings stammen aus einem html-Editor eines CMS oder einem i18n-PHP. Die häufigsten Szenarien sind:

- lorem(.,)\nipsum
- lorem(.,)\n ipsum
- lorem(.,)\n
  ipsum
- lorem   ipsum
- lorem\n\nipsum
- ... many others with mixed whitespaces (\t\s) and even \r

Die Regex vermeidet diese unschönen Dinge:

lorem\nipsum    => loremipsum
lorem,\nipsum   => lorem,ipsum
lorem,\n\nipsum => lorem,  ipsum
...

Sicherlich nicht für alle Anwendungsfälle und auch nicht der schnellste, aber ausreichend für die meisten Textbereiche und Texte für Websites oder Webapps.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X