删除单词外的空格和引号,并在单词之间留一个空格

时间:2019-04-22 14:10:51

标签: javascript regex

我有一个带引号和空格的字符串,如' TEST 123 '" TEST 123 "。如何删除单词外的空格和引号,并在单词之间留一个空格。预期结果:TEST 123

2 个答案:

答案 0 :(得分:1)

remove extra spaces in string javascript

newString = string.replace(/ \ s + / g,''); //“ thiscontainsspaces”

newString = string.replace(/ \ s + / g,'').trim();

答案 1 :(得分:0)

您可以使用此正则表达式,

^[ '"]+|[ '"]+$|( ){2,}

将其替换为$1,其中$1捕获单个空间,但例如存在两个或更多空间的情况。

在这里,^[ '"]+匹配字符串开头的任何空格或单引号或一个或多个,类似地[ '"]+$也匹配字符串结尾的一个空格或单引号或双引号的一个或多个并获取用空字符串替换,其中( ){2,}匹配时(仍要在字符串中间匹配)将替换为第1组中捕获的单个空格。

Regex Demo

示例JS演示

var arr = ["' TEST   123  '",'"  TEST  123  "'];

for (s of arr) {
 console.log(s + " --> " + s.replace(/^[ '"]+|[ '"]+$|( ){2,}/g,'$1'));
}