使用正则表达式删除分隔符周围的尾随和前导空格

时间:2016-06-07 18:17:29

标签: javascript regex

我正在尝试从字符串中删除空格。但是,我想删除分隔符周围的空格以及字符串的开头和结尾。

之前:

" one two, three , four ,five six,seven "

之后:

"one two,three,four,five six,seven"

我尝试过这种模式没有成功: /,\s+|\s$/g,","

2 个答案:

答案 0 :(得分:2)

您可以使用/\s*,\s*/g,然后使用.trim()字符串。

答案 1 :(得分:1)

使用正则表达式^\s+|(,)\s+|\s+(?=,)|\s$并将匹配替换为第一个捕获组$1



var string = " one two, three , four ,five six,seven ";
console.log(string.replace(/^\s+|(,)\s+|\s+(?=,)|\s$/g, '$1'));




当正则表达式引擎在逗号(,)\s+之后遇到空格时,捕获组为空或包含逗号(为此我们最好使用lookbehind,但JavaScript不支持它)。