2016-09-12 3 views
0

Ich habe eine Zeichenfolge, die ich von Backend erhalten, wie folgt aus:Wie man mehrere Zeichenketten in eins ändert?

Hello wolrd <br> <br> <br> I am <br><br> Uksz <br>. 

Nun ist die Menge an <br> nie konstant - es sein kann, oder bis zu 5. Wie kann ich alle <br> ändern, sind nebeneinander mit nur einem <br>? So dass das obige Beispiel wäre:

Hello wolrd <br> I am <br> Uksz <br>. 
+1

Verwenden Sie einen regulären Ausdruck (Regex), um doppelte Einträge zu filtern? – Roberrrt

+0

@Roberrrt, kannst du mir zeigen, wie ich das mit meinem Beispiel erreichen kann? – uksz

+0

Ich bin ein Chaos mit Regex. = (Ich nehme an, jemand anderes kann Ihnen helfen, – Roberrrt

Antwort

8

Sie diese Lösung verwenden können:

var test = "Hello wolrd <br><br> <br> <br> <br> <br><br> I am <br><br> Uksz <br><br> <br><br> <br> <br> <br><br> <br> <br> <br><br><br>."; 
 
var re = /(\<br\>)(\s*(\<br\>))+/gi; 
 
var result = test.replace(re, "<br>"); 
 
console.log(result);

+1

Funktioniert super! Danke! – uksz

+0

@webmaster Ihre Lösung hat folgende Probleme: - - Es fügt immer einen unnötigen zusätzlichen Platz am Ende von
hinzu. ZB "Hallo
Welt" wird in „Hallo
World“ umgewandelt werden -.. auch die einzelnen
als auch die Regex und ersetzen eine unnötige Leistungsverzögerung sein Dies wird unter meine Lösung überprüfen Sie bitte –

+0

Sie sehr viel @Ranojit Banerjee danken.,. jetzt behoben – webmaster

-1

Diese Arbeit sollte:

var yourString = "Hello wolrd <br> <br> <br> I am <br><br> Uksz <br>."; 
 
var pattern = /(<br>((\s)*(<br>))*)/gi; 
 
console.log(yourString.replace(pattern, "<br>")); // returns "Hello wolrd <br> I am <br> Uksz <br>."

Hinweis: Dadurch bleiben Leerräume intakt (vor und nach <br>).

+0

Warum negative Stimme und kein Kommentar zu was falsch ist? – KungWaz

2

diese Lösung Versuchen: -

var string = "Hello world <br> <br> <br> I am <br><br> Uksz <br>."; 
var result = string.replace(/(\<br\>\s*)+(\<br\>)/g, '$2'); // your result string will return Hello world <br> I am <br> Uksz <br>. 
console.log(result); 

Diese Regex nur den Raum zwischen br Tags entfernen.

Verwandte Themen