2010-12-30 18 views
1

I unter Verwendung von unten Codes mehr Leerzeichen zu entfernen versuchen, seine Entfernung & auch nbsp, aber es funktioniert nicht für Charakter NBS P .....Problem in regulärem Ausdruck

replace(SPACE, " ").replace(/^[\s\t\n\&nbsp\;]+|[\s\t\n\&nbsp\;]+$/g, ''); 
+0

Bitte geben Sie ein Beispiel für eine Zeichenfolge, die Sie vor erhalten möchten und nach ersetzen. Ein paar Beispiele. Kann einfach nicht verstehen, wie das funktionieren muss. –

+0

Es funktioniert nicht für N B S P? Entfernst du Räume oder versuchst du, diese Charaktere zu entfernen? Oder meinst du, es ist nicht eine groß geschrieben  ? – stef

+0

Ich denke, er bedeutet, dass   interpretiert wird als __ & oder n oder b oder s oder p oder; __ was ist verwirrend, und nicht was Sie wollen, ist Sie versuchen, HTML-Leerzeichen zu entfernen. –

Antwort

2

Versuchen:

str.replace(/( )|[ \t\n]/g, '') 
+0

Vielen Dank Bruder..s funktioniert gut .... – satyam

1

Könnte sein, weniger komplex imho:

(' replace  -s and spaces   in this line  ok? ') 
     .replace(/ |\s|\s+/gi, ''); 
//=>result: 'replace-sandspacesinthislineok?' 

Mit diesem RegExp/ersetzen Alle Instanzen von Leerzeichen/& nbsp; -s werden durch eine leere Zeichenfolge ersetzt.

/ |\s|\s+/gi 
-------^ or operator, so: match   OR \s OR \s+ 
---------------^g modifier: match all instances in the string to search 
-----------------^i modifier: match case insensitive 

Eine noch kürzere Form wäre:

/( |\s)+/gi 
----------------^ + match the preceding element one or more times 

Wikipedia ist dein Freund

1

/([ \r\n\t]| )/g Versuchen Sie alle Leerzeichen in der Zeichenfolge zu entfernen,
/^([ \r\n\t]| )/g Versuchen Sie alle Leerzeichen von Anfang an zu entfernen der Zeichenfolge
Versuchen Sie /([ \r\n\t]| )$/g, um alle Leerzeichen vom Ende der Zeichenfolge zu entfernen,

1

zu ersetzen führende und white-space Hinter und   Sie tun können:

str.replace(/^( |\s)+|( |\s)+$/gi, '') 

Der Grund von nbsp und ; aus der Zeichenfolge gelöscht werden, weil die falschen Zeichenklasse:

[\s\t\n\&nbsp\;] 

die auch Zeichen entspricht nbsp und ;.

Beachten Sie auch, dass \s\t und \n enthält.

Im Fall, wenn Sie alle Leerzeichen und alle   aus dem String löschen möchten Sie tun können:

str.replace(/( |\s)+/gi, '') 
+0

Dank bro, zum Analysieren und geben die richtige Option .. – satyam

Verwandte Themen