转载  C# 用正则表达式求字符数组 收藏

C# 用正则表达式求字符数组
string strParent = "qqqww{aaa}rrrrrr{bbb}zzzzzzz{ccc}xxxx";
欲求字符数组
string [] myList ={"aaa","bbb","ccc"}

方法一
public static System.Collections.ArrayList GetAry(string input)
{
System.Text.RegularExpressions.Regex r;
System.Text.RegularExpressions.Match m;
System.Collections.ArrayList ar = new System.Collections.ArrayList();

r = new System.Text.RegularExpressions.Regex(@"\{([ \S\t]*?)}",System.Text.RegularExpressions.RegexOptions.IgnoreCase);
for (m = r.Match(input); m.Success; m = m.NextMatch())
{
ar.Add(m.Groups[1].ToString());
}
return ar;
}

string strParent = "qqqww{aaa}rrrrrr{bbb}zzzzzzz{ccc}xxxx";
System.Collections.ArrayList ar = StGetAry(strParent);


方法二
private string[] StrToArray(string s)
{
MatchCollection mc = Regex.Matches(s, "{.*?}");
string[] res = new string[mc.Count];
for (int i = 0; i < mc.Count; i++)
{
res[i] = mc[i].Value.Substring(1, mc[i].Value.Length - 2);
}
return res;
}


调用的时候这样调用:
string a = "qqqww{aaa}rrrrrr{bbb}zzzzzzz{ccc}xxxx";
string[] b = StrToArray(a);
其中,b就是你要的那个东东:b={"aaa","bbb","ccc"} ;

记得引用这个:
using System.Text.RegularExpressions;
 

发表于 @ 2007年08月09日 10:25:00 | 评论( loading... ) | 编辑| 举报| 收藏

旧一篇:C# 正则表达式  | 新一篇:vs2005快捷键

  • 发表评论
  • 评论内容:
  •  
Copyright © flashasp
Powered by CSDN Blog