我需要从字符串中删除一些字符。但是,也有一定的限制。
示例短语:
有两个“@planes”,它们的构建方式几乎完全相同。
我需要找到模式'@
和下一个'
。这些字符需要从字符串中删除。但是,如果只有 '
或只有 @
,它们应该保持不变。需要澄清的是,该字符串可以包含一个或多个单词,这些单词在开头用“@”括起来,在末尾用一个“”括起来。需要删除包围的字符。
删除字符后,它应该如下所示:
有两架飞机的制造方式几乎完全相同。
另一个示例短语:
“@计算机”有时可能非常“@昂贵”,但在其他情况下它可能是“@便宜甚至免费”。
删除字符后,它应该如下所示:
计算机的价格有时可能非常昂贵,但在其他情况下它可能很便宜甚至免费。
正则表达式应该在 JavaScript 中工作。
最佳答案
/'@([a-z0-9\s]+)'/gi
适合您吗?
"A '@computer' can sometimes be very '@expensive in price' but in other cases it can be @cheap or even free'.".replace(/'@([a-z0-9\s]+)'/gi, '$1');
您可以查看https://regex101.com/获取有关正则表达式本身的详细解释。
关于javascript - 正则表达式删除不需要的字符模式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61793152/