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;
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;