2009-10-14 29 views
5

我認爲這將是一個非常愚蠢的問題,但是iam並沒有成功地用一個句子中的角落樹皮中的那些外來的東西來成功。如何獲得那些在字符串中的尖括號內的子字符串

var str = "MR. {Name} of {Department} department stood first in {Subjectname}" 

我需要獲得子(如陣列)那些是角度brakets內

像strArray應包含{名稱,部門,主旨名稱}從上面給定的字符串

回答

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

或者用於格式化(填入空格) - 請參閱this example

+0

是的,這是一個很少的努力 – CRice 2009-10-14 06:41:47

0

使用String.IndexOf(「{」)獲取第一個打開標記的索引和String.IndexOf(「}」)以獲取第一個關閉標記的索引。然後使用其他字符串函數來獲取它(子字符串,刪除等)...雖然仍然有標籤

8

注意在您的問題中使用var,我會假定您使用的是.NET 3.5。
一行下面的代碼應該做的伎倆。

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

非常有趣。 – 2009-10-14 07:23:04

相關問題