【发布时间】:2020-09-20 03:00:14
【问题描述】:
目前我得到的字符串如下所示:
我喜欢早餐吃{{Pizza|Pasta}}。
我想在 JS 中操作字符串,使它们只包含 '|' 之后的部分这样句子就变成了
我喜欢早餐吃意大利面。
到目前为止,这段代码给我带来了一个公平的结局。
str.replace(/\{\{.*?\|.*?\}\}/g, "");
但如果我有这样的字符串:
我早餐吃 {{bread}} 和 {{cereal|yoghurt}}。
结果是:
我早餐吃酸奶。
但我想要:
我早餐吃面包和酸奶。
到目前为止,我已经尝试过使用正则表达式。但它似乎并没有取代任何东西。
str.replace(/\{\{.*((?!]).).*?\|(.*?)\}\}/g, "");
【问题讨论】:
-
你尝试过什么,它到底有什么问题?
-
我试过在'|'处分割字符串并删除第一部分,但是我有一个问题是我删除了我不想删除的东西,在示例中是“我喜欢”部分
-
所以给minimal reproducible example 显示问题。
-
@jonrsharpe 你不明白我的问题吗?
标签: javascript regex string replace