从字符串中移除方括号

5
我想处理一些文本,以删除方括号中的任何子字符串,例如将此转换为:
我们注意到您未能出席上次预约。我们的目标是为我们的患者提供最好的服务,但需要患者的合作才能做到这一点。浪费约会会妨碍我们看到所有需要咨询的患者。如果您需要再次取消预约,我们将非常感激您能及时通知接待处。
如何实现这一点?
3个回答

3

使用这个正则表达式匹配电子邮件地址:

var strWithoutSquareBracket = strWithSquareBracket.replace(/\[.*?\]/g,'');

这里的正则表达式首先匹配[,然后匹配任何字符直到]并用''替换。
这是一个演示

是的,它可以工作,但我也不想在[]内部保留文本。例如,将[appointment]替换为""。谢谢iJay,请帮帮我。 - ankur

3

看一下这个,它会对你有所帮助:

var strWithoutSquareBracket = "Text [text]".replace(/\[.*?\]/g, '');

alert(strWithoutSquareBracket);

Fiddle 这里


2
假设text是保存文本的变量名。从您的示例中,似乎您想要删除方括号中的所有文本(以及方括号本身),因此您需要编写以下代码:
text = text.replace(/\[.+?\]/g, '');
\[ 匹配第一个括号;然后 .+? 匹配任意字符,直到闭合括号(由\]匹配)。结尾的 g 告诉 replace 将正则表达式应用于所有文本。

我还想问一件事,我也想删除两个单词之间多余的空格。例如,“failed to attend”在字符串文本中如何删除?谢谢帮助我。 - ankur
请问有什么办法可以从文本中删除多余的空格? - ankur
查看此fiddle。在其中,我们首先去除任何双空格(第3行),然后处理可能在其前有空格的任何标点符号(第4行)。 - ssarabando

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接