我需要一个正则表达式,以便将字符串 {somestr}
转换为 :somestr
,但我只需要替换第一个和最后一个出现的大括号,因为如果字符串中间有任何出现 - 则不应将其删除。
到目前为止我已经尝试过:
传入字符串var path = '/claims/{id}'
var pathWithoutBraces = path.replace("\{", ":").replace("\}", "")
输出是 /claims/:id
这是预期的,但它仍然会替换整个字符串中所有进一步出现的情况
最佳答案
您可以使用以下内容替换第一个和最后一个 {
和 }
var s='/claims/{abc{de}}f}';
document.write(s.replace(/{(.*)}/,':$1'));
关于JavaScript RegEx - 替换字符的第一次和最后一次出现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32627326/