功能之间的字串?

Ath*_*han 1 c# string

有没有办法让字符串之间..让我们说引用"使用Indexof和substring的问题是它得到第一个"和最后"但不是对.喜欢

"你好""为什么""WWWWWEEEEEE"

它会得到

您好""为什么""WWWWWEEEEEE

我想让它到阵列>你好,为什么,WWWWEEEEEE

有没有办法做到这一点?

Svi*_*ish 7

像这样的东西?

StringCollection resultList = new StringCollection();
try 
{
    Regex regexObj = new Regex("\"([^\"]+)\"");
    Match matchResult = regexObj.Match(subjectString);

    while (matchResult.Success) 
    {
        resultList.Add(matchResult.Groups[1].Value);
        matchResult = matchResult.NextMatch();
    } 
}
catch (ArgumentException ex) 
{
    // Syntax error in the regular expression
}
Run Code Online (Sandbox Code Playgroud)

如果subjectString"你好""为什么""WWWWWEEEEEE",那应该给你一个包含以下内容的清单:

  • 你好
  • 为什么是
  • WWWWWEEEEEE

一个更紧凑的例子,它使用静态Regex类,只是将匹配写入控制台而不是添加到集合:

var subject = "\"Hello\" \"WHY ARE\" \"WWWWWEEEEEE\"";
var match = Regex.Match(subject, "\"([^\"]+)\"");

while (match.Success)
{
    Console.WriteLine(match.Groups[1].Value);
    match = match.NextMatch();
}
Run Code Online (Sandbox Code Playgroud)