Regex类的Split()方法可以根据给定的正则表达式找到匹配项,把输入字符串分割为字符串数组。Regex类的Split()方法存在如下5种重载方法。
(1)Regex.Split(string input);
(2)Regex.Split(string input,int count);
(3)Regex.Split(string input,string pattern);
(4)Regex.Split(string input,int count,int startat);
(5)Regex.Split(string input,string pattern,RegexOptions options);
其中,input参数指定输入字符串;count参数指定要返回的最大数组元素数;pattern参数指定正则表达式;startat参数指定开始搜索的字符位置;options参数指定匹配选项。
下面的代码使用正则表达式“/d+”的匹配项分割字符串“A0123456789abcd321bfr987Z”,并返回分割后的字符串数组。其中,RegexSplit()方法使用Regex类的Split()静态方法;Split()方法创建一个Regex实例regex,并使用该实例的Split()实例方法。
/// <summary>
/// 分割匹配的表达式
/// </summary>
/// <returns></returns>
private string[] RegexSplit()
{
string input = "A0123456789abcd321bfr987Z";
string pattern = @"/d+";
return Regex.Split(input,pattern);
}
/// <summary>
/// 分割匹配的表达式
/// </summary>
/// <returns></returns>
private string[] Split ()
{
string input = "A0123456789abcd321bfr987Z";
string pattern = @"/d+";
Regex regex = new Regex(pattern);
return regex.Split(input);
}