字符串替换的问题(正则或者有其他更好的解决办法)

csdnFUCKINGSUCKS 2015-08-14 01:27:39
json字符串如下 是从 mongodb中获取的document

{
"_id" : ObjectId("55beda39f495cc8c6da3d21c"),
"dictionary_name" : "(location_dic)",
}

现要实现如下的效果
将ObjectId中的值取出,替换原来完整的ObjectId()这样的格式,因为有括号的关系,所以不能
影响到其他的字段.

{
"_id" : "55beda39f495cc8c6da3d21c",
"dictionary_name" : "(location_dic)",
}

数据不止一条.实际格式是这样

{"data":[{"_id" : ObjectId("55beda39f495cc8c6da3d21c"),"dictionary_name" : "(location_dic)",},{"_id" : ObjectId("55beda39f495cc8c6da3d21d"),"dictionary_name" : "(test_dic)",}]}
...全文
142 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
csdnFUCKINGSUCKS 2015-08-14
  • 打赏
  • 举报
回复
引用 2 楼 starfd 的回复:
string json=@"{""data"":[{""_id"" : ObjectId(""55beda39f495cc8c6da3d21c""),""dictionary_name"" : ""(location_dic)"",},{""_id"" : ObjectId(""55beda39f495cc8c6da3d21d""),""dictionary_name"" : ""(test_dic)"",}]}"  ;
string patten=@"\bObjectId\b\((""[^""]*"")\)";
Console.WriteLine(Regex.Replace(json, patten, "$1"));
写傻掉了,这个结果是你要的,上面把双引号弄掉了
大神厉害 结贴了
  • 打赏
  • 举报
回复
string json=@"{""data"":[{""_id"" : ObjectId(""55beda39f495cc8c6da3d21c""),""dictionary_name"" : ""(location_dic)"",},{""_id"" : ObjectId(""55beda39f495cc8c6da3d21d""),""dictionary_name"" : ""(test_dic)"",}]}"  ;
string patten=@"\bObjectId\b\((""[^""]*"")\)";
Console.WriteLine(Regex.Replace(json, patten, "$1"));
写傻掉了,这个结果是你要的,上面把双引号弄掉了
  • 打赏
  • 举报
回复
string json=@"{""data"":[{""_id"" : ObjectId(""55beda39f495cc8c6da3d21c""),""dictionary_name"" : ""(location_dic)"",},{""_id"" : ObjectId(""55beda39f495cc8c6da3d21d""),""dictionary_name"" : ""(test_dic)"",}]}"  ;
string patten=@"\bObjectId\b\(""([^""]*)""\)";
Console.WriteLine(Regex.Replace(json, patten, m =>
{
    return m.Groups[1].Value;
}));

110,539

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧