从分隔符分隔的字符串中检索特定字符

时间:2015-10-30 15:34:45

标签: c# string delimiter

我想检索由特定分隔符分隔的字符。

示例:

在这里,我想访问“”分隔符之间的字符串。但我希望第二组字符位于“”之间。

abc"def"ghi"jklm // Output : ghi

"hello" yes "world" // output : world

我怎么能得到它? 我知道我们可以使用拆分。但有时字符串可能不会以“character。”开头。

有人可以帮我解决这个问题吗?

3 个答案:

答案 0 :(得分:0)

string valueStr = "abc\"def\"ghi\"jklm";
var result = valueStr.Split('"')[2];
Console.WriteLine(result);

https://dotnetfiddle.net/T3fMof

显然在访问数组元素之前检查它们

答案 1 :(得分:0)

您可以找到第一个引用,并使用您的方法:

var firstQuote = str.IndexOf('"');

var startsWithQuote = str.Substring(firstQuote);

答案 2 :(得分:0)

您可以使用正则表达式来匹配它们:

        var test = "abc\"def\"ghi\"jklm";
        var test2 = "\"hello\" yes \"world\"";

        var match1 = Regex.Matches(test, ".+\"(.+)\"");
        var match2 = Regex.Matches(test2, ".+\"(.+)\"");

        Console.WriteLine("Match1: " + match1[0].Groups[1].Captures[0]);
        Console.WriteLine("Match2: " + match2[0].Groups[1].Captures[0]);
        // Match1: ghi
        // Match2: world