假设我们有这个字符串:
this is an example: 'this is too'
我需要这个输出:
thisisanexample:'this is too'
我需要一种方法来删除字符串中的空格,除非任何给定部分被字符包围,在本例中为 '
。
如果有帮助,我找到了这篇文章here ,但它是用 python 编写的,我几乎不知道如何翻译它。
如果您想知道,这是用于数据解析器的。
最佳答案
基本上就像您在 python 中提到的那样,此代码拆分(使用 .split() )字符串,然后迭代新数组并检查迭代的当前元素是否是应删除空格的字符串的一部分(例如索引为 [0] 的第一个元素)不是 ''
内字符串的一部分检查由 %
完成,如果不是,则会在 ''
中再次添加它最后我们.filter()数组和 .join()它的元素得到一个新的字符串。
所以我认为这就是你想要的:
function splitStr(str) {
let strArr = str.split("'");
let newStr = "";
strArr.forEach((el, i) => {
if(i % 2 === 0) {
strArr[i] = el.replace(/\s/g, '');
}
else {
strArr[i] = `'${strArr[i]}'`;
}
})
return strArr.filter(String).join('');
}
let str = "this is an example:'this is too'";
console.log(splitStr(str));
let str1 = "('test 2': 'the result' )";
console.log(splitStr(str1));
let str2 = "('test 2': the result )";
console.log(splitStr(str2));
关于javascript - 如何从字符串中删除所有空格,除非该字符串的一部分被 Node 中的特定字符包围?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61113297/