C#从日志中获取值

时间:2018-08-02 12:27:37

标签: c# regex

我正在尝试使用以下代码从字符串中获取特定字段的值。

示例代码:

string contents = "2018-07-31 \"streetAddress1\":{\"1 Harbour Street\"},\"streetAddress2\":{\"2 Lords Road\"}";

string streetAddress1 = ValueFinder(contents, "\"streetAddress1\"", "\"streetAddress2\"");

...

public string ValueFinder(string contents, string startText, string endText)
{
    int indexPos1 = contents.IndexOf(startText);
    int indexPos2 = contents.IndexOf(endText);

    if(indexPos1 != -1 && indexPos2 != -1)
    {
        string finalValue = contents.Substring(indexPos1 + (startText.Length + 3), indexPos2 - indexPos1 - (startText.Length + 3));
        return finalValue.Split(':')[1];
    }
    return "";
}

在上面的代码中,我能够得到两个字段之间的内容。但是,如果提供字段名称,是否有一种更简单的方法来获取花括号{}之间的值。

例如,如果字段的名称为“ streetAddress1”,则它应将其值输出为“ 1 Harbor Street”,而不是我为指定第一个字段的值而指定了两个字段的当前逻辑。

谢谢。

0 个答案:

没有答案