我认为这将是一个非常愚蠢的问题,但是对于那些在一个句子中有角度的咆哮中的夸张的说法,我并不成功。
var str = "MR. {Name} of {Department} department stood first in {Subjectname}"
我需要获得子串(如数组)那些在角度范围内
像strArray应该包含来自上面给定字符串的 {Name,Department,Subjectname}
答案 0 :(得分:8)
注意到在您的问题中使用var
,我将假设您使用的是.NET 3.5。
下面代码的一行应该可以解决问题。
string[] result = Regex.Matches(str, @"\{([^\}]*)\}").Cast<Match>().Select(o => o.Value).ToArray();
答案 1 :(得分:6)
List<string> fields = new List<string>();
foreach(Match match in Regex.Matches(str, @"\{([^\}]*)\}")) {
fields.Add(match.Groups[1].Value);
}
或格式化(填空) - 请参阅this example。
答案 2 :(得分:0)
使用String.IndexOf(“{”)获取第一个打开标记的索引,使用String.IndexOf(“}”)获取第一个关闭标记的索引。然后使用其他字符串函数将其删除(子字符串,删除等)...同时还有标记