从字符串中删除方括号,包括方括号内的文本

扎克·李

我正在尝试从字符串中删除所有方括号,包括开头和结尾方括号内的文本。它不应删除未关闭的文本。

  • 例1:Hell[o] [W[orl]d[!!应该Hell d!!
  • Example2:Hell[]o] [W[orl]d[!!]应该是Hell d

这是我的似乎有效的代码:(编辑:在某些情况下不起作用,请参见下文)

let text = "Hell[o] [W[orl]d[!!";
let newText = "";
let buf = "";
let isOpened = false;
for (let i = 0; i < text.length; i++) {
  const char = text.charAt(i);
  if (char === "[") {
    isOpened = true;
  }
  else if (char === "]") {
    buf = "";
    isOpened = false;
  }
  else {
    if (isOpened) {
      buf += char;
    }
    else {
      newText += char;
    }
  }
}
newText += buf;

console.log(newText);

结果: Hell d!!

我想问一下是否有比这更简单的解决方案。
理想情况下,我想避免将整体复制textnewText更好的性能。

编辑:我只是发现我的代码无法正确使用“ Hell [] o] [W [orl] d [!!”。它返回,Hello d!!但应该是Hell d!!我怎样才能解决这个问题?

柠檬狗

您可以使用正则表达式来完成此操作。正则表达式/(?:\[.*?\]|[\[\]])/g将起作用(通过搜索带有文本的成对括号和不成对括号)

function stripBrackets(text) {
  return text.replace(/(?:\[.*?\]|[\[\]])/g, "")
}
console.log(stripBrackets("Hell[o] [W[orl]d[!!"));
console.log(stripBrackets("Hell[]o] [W[orl]d[!!]"));

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何删除字符串中的方括号字符(java)

来自分类Dev

需要删除字符串中多余的方括号

来自分类Dev

从字符串方括号中删除数字

来自分类Dev

替换字符串中的括号和方括号

来自分类Dev

删除以方括号[开头并以方括号]结尾的特定字符串

来自分类Dev

删除字符串开头和结尾的方括号

来自分类Dev

删除双方括号并保留字符串

来自分类Dev

删除双方括号并保留字符串

来自分类Dev

删除任何以方括号开头的字符串

来自分类Dev

如何从方括号内的字符串中返回字符串数组

来自分类Dev

方括号内的Impala / Hive字符串提取

来自分类Dev

如何在方括号内使用字符串

来自分类Dev

使用方括号更改字符串内的数据

来自分类Dev

从字符串中提取方括号内的数字

来自分类Dev

提取方括号内的2个文本之间的字符串

来自分类Dev

根据方括号中的值对字符串进行排序

来自分类常见问题

从Python移除字符串方括号中的元素

来自分类Dev

JavaScript-替换字符串中的方括号

来自分类Dev

JS函数,用于验证字符串中的方括号

来自分类Dev

Jenkinsfile写入字符串在文件中包含方括号

来自分类Dev

将字符串与TCL中的方括号匹配

来自分类Dev

从Python移除字符串方括号中的元素

来自分类Dev

sed + 用键替换方括号中的字符串

来自分类Dev

如何在方括号中绑定字符串?

来自分类Dev

用字符串中的方括号替换内容

来自分类Dev

Java从方括号中获取子字符串

来自分类Dev

如何从JavaScript中的字符串中提取方括号中的文本?

来自分类Dev

如何从php文件中的字符串中删除方括号?

来自分类Dev

如何使用htaccess重写从查询字符串中删除方括号?

Related 相关文章

热门标签

归档