【发布时间】:2019-10-02 06:49:21
【问题描述】:
我在 JavaScript 中有两个字符串,比如
var description = "<DP_A>.<Del.Dce Lks.{Link}>.<Pl.Rrs Bk 0.310-PT-304_({strm})>"
var Title = "<DP_A>.<Del.Dce Lks.1>.<Pl.Rrs Bk 0.310-PT-304_(1)>"
这里 {Link} 和 {strm} 是占位符,或者更可能的是 {} 之间的任何内容都是占位符
我需要比较像描述和标题这样的字符串来找到占位符值,输出需要像
{"Link" : 1, "strm" : 1 }
或数组
[{Link" : 1, "strm" : 1}]
我尝试了一些正则表达式但不起作用,有什么帮助吗?
if (description.includes("{")) {
var found = [], // an array to collect the strings that are found
rxp = /{([^}]+)}/g,
curMatch;
while (curMatch = rxp.exec(description)) {
found.push(curMatch[1]);
}
}
我能够获取占位符数组,但无法在标题字符串中找到值。
【问题讨论】:
-
向我们展示您迄今为止尝试过的内容,即使这不起作用。
-
每次都是同一个字符串吗?
-
{"Link" : 1, "strm" : 2 }为什么是“strm”2?它只出现一次。 我需要比较诸如描述和标题之类的字符串以查找占位符值,您是什么意思?你需要找到每个的索引吗? -
@briosheje -
strm对我来说应该等于1,但不是因为它的出现次数,而是因为在Title中,它被写成1其中{strm}放在description。 -
@KévinBibollet 哦。不错的猜测。不过,这解释得很糟糕。那么,这比预期的要难。
标签: javascript jquery regex string object