【发布时间】:2018-12-23 03:31:12
【问题描述】:
我有一个巨大的 json 字符串。我想替换所有“_abc”引用 属性名称为“Abc”。如何在 C# 中使用正则表达式?
使用普通的 .net 替换,我可以执行以下操作来删除“_”实例,但不知道如何将第一个字母转换为大写。
text = jsonString.Replace("\"_", "\"");
谢谢, 周杰伦
【问题讨论】:
-
使用库迭代 JSON 字符串然后替换感兴趣的键/值不是更安全的选择吗?
-
我试过了,但结果很慢。我使用 json.net 和合约类型解析器的方法来做到这一点。
-
你想尝试的是
text = Regex.Replace(jsonString, @"_(\p{Ll})", m => m.Groups[1].Value.ToUpper());,但你应该只对纯文本运行正则表达式,JSON不是纯文本。 -
这个帖子中有一个答案,您可能会发现它很有用stackoverflow.com/questions/244531/…
-
regex 将慢 10 到 100 倍,然后使用不安全和大写的下划线后的下一个字符将你自己的字符串解析为固定数组,只是说......哦等等,那不是你想要什么