我从一个设备返回一个json字符串,该字符串在defintion名称中有连字符,我想删除它......
目前我有
Dim wsRawData as Worksheet
Set wsRawData = Worksheets("Data_raw")
With wsRawData
Dim lNextRow as Long
lNextRow = .Range("B" & .Rows.Count).End(xlUp).Offset(1).Row
.Cells(lNextRow, 2).Value = RM
.Cells(lNextRow, 3).Value = NameCo
.Cells(lNextRow, 4).Value = Pays
'... and so on
End With
但是这样可以获得“”中的所有内容:我只想要那里的连字符,而不是所有文本。我知道我很接近只是遇到麻烦,因为正则表达式总是让我感到困惑。下面我想纠正序列号到序列号但不是值-2 ....帮助!
\"(.+?)\":
答案 0 :(得分:1)
你可以匹配
/"([^"]*)-([^"]*)":/
然后只用两个子匹配替换。 见http://www.regexpal.com/?fam=95143
这是应该有效的js代码:
json = json.replace(/"([^"]*)-([^"]*)":/g,'"$1$2"');
这是另一个版本,使用前瞻:
json = json.replace(/-(?=[^"]*":)/g,"");
这假设在结束"
和: