2010-12-30 3 views
1

Я пытаюсь удалить несколько пробелов, используя ниже кодов, его удаление & NBSP также но не работает для персонажа НБС P .....Проблема в регулярном выражении

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

Пожалуйста, дайте пример строки, которую вы хотите получить до и после замены. Несколько примеров. Просто не могу понять, как это должно работать. –

+0

Это не работает для N B S P? Вы снимаете пробелы или пытаетесь удалить эти символы? Или вы имеете в виду, что он не лишает капитализированного  ? – stef

+0

Я думаю, что он означает, что   интерпретируется как __ или n или b или s или p или; __, что является путаным, а не то, что вы хотите, - вы пытаетесь удалить HTML-пробелы. –

ответ

2

Try:

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

Большое спасибо брату ... отлично работает .... – satyam

1

Может быть менее сложным IMHO:

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

С этим RegExp/заменить все экземпляры пробелов/& nbsp; -s заменяются пустой строкой.

/ |\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 

Еще короче форма будет:

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

Wikipedia ваш друг

1

Попробуйте /([ \r\n\t]| )/g, чтобы удалить все пробелы в строке,
Попробуйте /^([ \r\n\t]| )/g, чтобы удалить все пробелы из начала строки,
Попробуйте /([ \r\n\t]| )$/g удалить все пробелы из конца строки,

1

Для замены передней и задней Пробельные и   вы можете сделать:

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

Причина по nbsp и ; удаляются из вашей строки из-за неправильного символьного класса:

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

, который также соответствует признакам nbsp и ;.

Также обратите внимание, что \s содержит \t и \n.

В случае, если вы хотите удалить все пробелы и все   из строки вы можете сделать:

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

Спасибо, за анализ и предоставление правильного варианта .. – satyam

Смежные вопросы