javascript - 如何从字符串中删除所有空格,除非该字符串的一部分被 Node 中的特定字符包围?

标签 javascript node.js

假设我们有这个字符串:

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/

相关文章:

javascript - 使用knockoutjs 在数组中的项目中创建计算值

node.js - Helm : How to allow images to load from different domain (Err: NotSameOriginAfterDefaultedToSameOriginByCoep)

javascript - AngularJS - 一种使 html 输入超时一秒然后调用 $watch 的方法

javascript - 使用 javascript 包含背景图片

node.js - 将我的应用程序部署到 bluemix 时获取 "failed to start accepting connection"

node.js - webrtc onaddstream 未在第一个对等点上调用

node.js - Node : want to map domains to server

node.js - 尝试安装 Socioboard-api NodeJs 时出现问题

javascript - 如何将音频从浏览器流式传输到 WebRTC native C++ 应用程序

javascript - 无法设置可调整大小的圆环图的尺寸