我很欣赏这里有很多类似的帖子,我有兴趣阅读,但我找不到解决方案,希望有人可以提供帮助。
strFieldValue
是一个字符串(标题),可能包含引号,例如有人可能会把文本写成9英寸(9英寸) - 这会导致代码跟随此问题。所以我想在字符串中搜索引号,并用转义引号替换。到目前为止,我只是设法删除引号共
我尝试了什么 -
newFieldValue = Replace(strFieldValue,Chr(34), "")
- 这删除了引用
newFieldValue = Replace(strFieldValue,Chr(34), """"")
- 我认为这会起作用,因为双引号会逃脱中间的那个,但它所做的就是在我的调试中打印所有5个引号
有没有办法在字符串'safe'中做出任何引号但仍然存在?
非常感谢 莉莎
传递给JSON脚本的数据,其中包含有问题的字符串:
{ “请求”:{}, “结果”:[{ “列”:[{ “DBNAME”: “参照”, “文本”: “参考”},{ “DBNAME”: “版本”,”文 “:” 版本 “},{” DBNAME “:” 标题 “ ”文“: ”标题“},{ ”DBNAME“: ”作者“, ”文“: ”作者“},{ ”DBNAME“:”状态 “ ”文“: ”国家“}], ”行“:[{ ”ID“: ”6422“, ”参考“: ”TPJ / TECH / DES / 406“, ”版本“: ”V1A“,” TITLE“:”Doc Baselines测试lisa%&& /“,”AUTHOR“:”LISA CARVER“,”STATE“:”Filed“}]}]}
{ “请求”:{}, “结果”:[{ “列”:[{ “DBNAME”: “参照”, “文本”: “参考”},{ “DBNAME”: “版本”,”文 “:” 版本 “},{” DBNAME “:” 标题 “ ”文“: ”标题“},{ ”DBNAME“: ”作者“, ”文“: ”作者“},{ ”DBNAME“:”状态 “ ”文“: ”国家“}], ”行“:[{ ”ID“: ”6422“, ”参考“: ”TPJ / TECH / DES / 406“, ”版本“: ”V1A“,” TITLE“:”Doc Baselines测试lisa“%&& /“,”AUTHOR“:”LISA CARVER“,”STATE“:”Filed“}]}]}
后者正在用引号剪短字符串。
答案 0 :(得分:1)
对于这张海报来说,这可能为时已晚,但JSON是JavaScript Object Notation,这意味着引用需要转义的语言是JavaScript,而不是VB.Net。要在JavaScript中转义单引号或双引号,可以使用反斜杠后跟单引号或双引号替换它。在Regex中编写这有点棘手 - 这在C#.Net中成为一个更糟糕的问题,因为C#也使用反斜杠进行转义 - 但是这个例子应该让你开始:
Dim s AS String
s = "This is a ""quote"" test."
s = Regex.Replace(s,"[""]","\\""")
'在VB.Net引用转义并用JavaScript用户更熟悉的斜杠替换字符串分隔引号后,对于模式和字符串减少为/ ["] /(带有隐式全局替换指令)由反斜杠后跟双引号组成,用于替换值。