Javascript/regex:删除方括号之间的文本

Javascript/regex: Remove text between square brackets

本文关键字:之间 文本 方括号 删除 regex Javascript      更新时间:2023-09-26

是否可以更改:

Hello, this is Mike [example]

到此:

Hello, this is Mike

使用JS+Regex?非常感谢。

如果您更喜欢使用正则表达式,请考虑以下内容。

var r = 'Hello, this is Mike [example]'.replace(/ *'[[^']]*]/, '');
console.log(r); //=> "Hello, this is Mike"

如果数据的括号中包含更多要删除的文本,请使用g(全局)修饰符。

根据你给定的字符串,你可以在这里使用split。

var r = 'Hello, this is Mike [example]'.split(' [')[0]
console.log(r); //=> "Hello, this is Mike"

我的第一个想法是:

"Hello, this is Mike [example]".replace(/('[.+'])/g, '');

JS Fiddle演示。

或者,如评论中所述:

"Hello, this is Mike [example]".replace(/('[.*?'])/g, '');

JS Fiddle演示。

参考文献:

  • JavaScript正则表达式

删除空白并不总是可取的,例如,当括号用于某些类型的标记时。替换为单个空间。

text = "This is a [big]large[/big] bear."
text = text.replace(/'s*'[.*?']'s*/g, ' ')

结果:text=";这是一只大熊"

此示例显示删除'<'&'>',使用文本节点函数进行转义,删除div及其内容,最后删除'['&']'。

有关转义字符的完整列表,请参阅:mateam.net

function escapeHTML(html) {
  return document.createElement('div').appendChild(document.createTextNode(html)).parentNode.innerHTML;
}
var a = document.createElement('div');
a.id = 'test';
a.innerHTML = 'test';
document.body.appendChild(a);
a.onclick = function(){
var str = '<a href="ggoggle.ca">ggogle</a> wish i was here <img src="image"><div>another div</div> [square brackets] <div>yet another div</div>';
console.log(''n original string:'n'+str);
str = str.replace(/'<div'>.*?'<'/div'>/g,'');
console.log(''n removed divs & content:'n'+str);
// <a href="ggoggle.ca">ggogle</a> wish i was here <img src="image"> [square brackets]
var str = escapeHTML(str);
console.log(''n escape using text node - escapeHTML(html):'n'+str);
// &lt;a href="ggoggle.ca"&gt;ggogle&lt;/a&gt; wish i was here &lt;img src="image"&gt; [square brackets]
str = str.replace(/'<.*?'>/g,'').replace(/'&lt;.*?'&gt;/g,'');
    
console.log(''n removed ''< >'' and escaped (&lt; &gt;) and content:'n'+str);
// ggogle wish i was here  [square brackets] 
str = str.replace(/'[.*?']/g,'')
console.log(''n remove square brackets and their content:'n'+str);
// ggogle wish i was here

}