Regex.Replace匹配

时间:2012-12-24 13:04:49

标签: c# regex json

我在使用Json反序列化器时遇到了一些问题。返回的Json中的一个值是大而且抛出异常。我实际上不需要它返回的信息所以我想忽略它。我认为最好的方法是在json字符串中搜索属性,然后将值设置为null。

以下是返回的Json示例,它给出了错误。

           "attributes": [
                {
                    "defindex": 143,
                    "value": 2111522248,
                    "float_value": 364329070052570260000000000000
                },

我想用空值或nill替换“float_value”属性(即36432907005257026000000000),以便它不会在Json反序列化期间抛出异常。

我正在使用Regex.Replace(json, "\"float_value\": \\d+", String.Empty);

但它似乎没有删除它,并且仍在抛出异常。

1 个答案:

答案 0 :(得分:0)

当您说\\d+时,您实际上是在逃离第二个\,而不是表示您想要\d。请尝试这样做:

Regex.Replace(json, "\"float_value\": \d+", String.Empty);

以下是您之前所拥有的细分。请注意文字dhttp://www.regex101.com/r/wQ6jD5

编辑:Nvm,这不适用,因为您使用的是普通字符串而不是逐字字符串。正如Jj所指出的那样,我认为问题是你在前一行中有一个,,你没有删除。