我想检索由特定分隔符分隔的字符。
示例:
在这里,我想访问“”分隔符之间的字符串。但我希望第二组字符位于“”之间。
abc"def"ghi"jklm // Output : ghi
"hello" yes "world" // output : world
我怎么能得到它? 我知道我们可以使用拆分。但有时字符串可能不会以“character。”开头。
有人可以帮我解决这个问题吗?
答案 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