需求:一个字符串里面有 中文(\u4e00-\u9fa5) 大写字母(A-Z) 小写字母(a-z) 数字(\d) 他们各自分为一组,如字符串:“我们shiZHONGguo1234人”其中 我们 是一组,shi 是一组……
现在我的要求就是在他们换组(例如:从中文变成字母了)的地方加入一个字符*
处理之后的结果就是:我们*shi*ZHONG*guo*1234*人
不知道我说明白了没有,求正则大神教教我!
现在我的要求就是在他们换组(例如:从中文变成字母了)的地方加入一个字符*
处理之后的结果就是:我们*shi*ZHONG*guo*1234*人
不知道我说明白了没有,求正则大神教教我!
@"[\u4e00-\u9fa5]+|[a-z]+|[A-Z]+|\d+",
"$0*").TrimEnd('*'));
/*
我们*shi*ZHONG*guo*1234*人
*/
string tempStr = "我们shiZHONGguo1234人";
string pattern = @"(?m)(?=([a-z]+|[A-Z]+|\d+|[\u4e00-\u9fa5]+))\1";
Regex reg=new Regex (pattern); string result = reg.Replace(tempStr, m => { return "*" + m.Value; }).TrimStart('*');//输出 我们*shi*ZHONG*guo*1234*人
void Main()
{
string str="我们shiZHONGguo1234人";
Regex reg=new Regex(@"([a-z]+|[A-Z]+|\d+|[\u4e00-\u9fa5]+)",RegexOptions.IgnorePatternWhitespace);
var arry=reg.Split(str).Where(s=>s.Length>0).ToArray();
Console.WriteLine(string.Join("*",arry));
//我们*shi*ZHONG*guo*1234*人
}