如何获得字符串中的尖括号内的子串

rav*_*ran 5 .net c# string

我认为这将是一个非常愚蠢的问题,但是对于那些在一个句子中有角度的咆哮中的那些夸张的说法而言,我并不成功.

var str = "MR. {Name} of {Department} department stood first in {Subjectname}"
Run Code Online (Sandbox Code Playgroud)

我需要获得角度范围内的子串(如数组)

像strArray应该包含来自上面给定字符串的{Name,Department,Subjectname}

Bin*_*ony 8

注意到var在您的问题中使用,我将假设您使用的是.NET 3.5.
下面的一行代码应该可以解决问题.

string[] result = Regex.Matches(str, @"\{([^\}]*)\}").Cast<Match>().Select(o => o.Value).ToArray();
Run Code Online (Sandbox Code Playgroud)


Mar*_*ell 6

    List<string> fields = new List<string>();
    foreach(Match match in Regex.Matches(str, @"\{([^\}]*)\}")) {
        fields.Add(match.Groups[1].Value);
    }
Run Code Online (Sandbox Code Playgroud)

或者格式化(填空) - 请参阅此示例.