1

如果 a 有这样的字符串: var myString="{text} and {text1} are going to {text2}."

我怎样才能得到 {text} 的总数C#就我而言:3

我在想,regex但我不知道如何写来匹配{text}

编辑: 我需要 {text} 而不是 {number}

4

3 回答 3

2

遍历字符串并计算 { 也许?

int count=0;
for(int i=0;i<myString.Length;i++)
{
   if(myString.CharAt(i)=='{')
   {
      count++
   }
}
于 2013-07-05T10:52:11.617 回答
2

试试这行代码(编辑问题后更新答案) - 现在匹配大括号中的任何文本:

Regex.Matches(myString, @"\{[^}]+\}").Count
于 2013-07-05T10:53:32.013 回答
1

您必须取消括号:

\{\d+\}

在 C# 中:

var count = Regex.Matches( yourstring, @"\{\d+\}").Count;

为了提高您的正则表达式技能,我建议您使用http://regexlib.net/RETester.aspx

于 2013-07-05T10:52:54.710 回答