正则表达式中的问题

时间:2010-12-30 08:40:45

标签: javascript regex string replace

我正在尝试使用以下代码删除多个空格,并删除& nbsp, 但它不适合角色N B S P .....

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

4 个答案:

答案 0 :(得分:2)

尝试:

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

答案 1 :(得分: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是你的朋友

答案 2 :(得分:1)

尝试/([ \r\n\t]| )/g删除字符串中的所有空格,
尝试/^([ \r\n\t]| )/g从字符串的开头删除所有空格,
尝试/([ \r\n\t]| )$/g从字符串末尾删除所有空格

答案 3 :(得分:1)

要替换前导和尾随空格,可以执行以下 

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

n b s p;从字符串中删除的原因是因为字符类不正确:

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

也匹配字符n b s p;

另请注意,\s包括\t\n

如果你想从字符串中删除所有空白字符和所有 ,你可以这样做:

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