求正则表达式解决字符串分割问题!!! string s = "汉字123文字english";现在我想按照中文汉字来分割成string[]数组,并且保留此中文得到:string[] arr = {"汉字","123","文字","english"};代码该怎么写? 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 正则表达式里不是\b表示边界么我是想split(s,"中文的边界");但是不知道这个表达式怎么写 我还是那个笨办法: string str = "汉字123文字english"; string[] strarr = Regex.Replace(str, @"[\u4e00-\u9fa5]+", @"~$&~").Trim('~').Split('~');等待高手 string s = "汉字123文字english"; s= Regex.Replace(s, "([\u4e00-\u9fa5]+)", ",$1,"); s=s.Trim(new char[]{','}); string[] aa= Regex.Split(s, ",",RegexOptions.IgnoreCase); 如果是用Split方法,开始和结束是中文需要对结果中第一和最后一个元素做下判断string str = "汉字123文字english";List<string> result = new List<string>(Regex.Split(str, @"([\u4e00-\u9fa5]+)"));if (result[0] == "") result.RemoveAt(0);if (result.Count > 0 && result[result.Count - 1] == "") result.RemoveAt(result.Count - 1);foreach (string s in result){ Console.WriteLine(s);}Console.ReadLine();直接匹配string str = "汉字123文字english";List<string> result = new List<string>();MatchCollection mc = Regex.Matches(str, @"[\u4e00-\u9fa5]+|[^\u4e00-\u9fa5]+");foreach (Match m in mc){ result.Add(m.Value);}foreach (string s in result){ Console.WriteLine(s);}Console.ReadLine();或者正则委托另类应用string str = "汉字123文字english";List<string> result = new List<string>();Regex.Replace(str, @"[\u4e00-\u9fa5]+|[^\u4e00-\u9fa5]+", delegate(Match m) { result.Add(m.Value); return ""; });foreach (string s in result){ Console.WriteLine(s);}Console.ReadLine(); 递归算法的原理是什么? 如何在控制台实现类似TreeView控间的图形。 用C#写的WM2003程序,如何实现MessageBox中确定后向指定服务传数据 能否用FileUpload上传图片到D盘指定的路径下? datalist分页 关于软件上传/文件上传?高手请帮忙! Visual c#2005中为什么总提示Ime的错误? 请问到底如何才能解决数据库连接上Unspecified error的错误? C#如果判断文件夹是否已经通过资源管理器打开? winform程序,打印预览的问题 怎么才能让combobox控件有初始值 正则表达式 a.(bb)
string[] strarr = Regex.Replace(str, @"[\u4e00-\u9fa5]+", @"~$&~").Trim('~').Split('~');等待高手
s= Regex.Replace(s, "([\u4e00-\u9fa5]+)", ",$1,");
s=s.Trim(new char[]{','});
string[] aa= Regex.Split(s, ",",RegexOptions.IgnoreCase);
string str = "汉字123文字english";
List<string> result = new List<string>(Regex.Split(str, @"([\u4e00-\u9fa5]+)"));
if (result[0] == "") result.RemoveAt(0);
if (result.Count > 0 && result[result.Count - 1] == "") result.RemoveAt(result.Count - 1);
foreach (string s in result)
{
Console.WriteLine(s);
}
Console.ReadLine();直接匹配
string str = "汉字123文字english";
List<string> result = new List<string>();
MatchCollection mc = Regex.Matches(str, @"[\u4e00-\u9fa5]+|[^\u4e00-\u9fa5]+");
foreach (Match m in mc)
{
result.Add(m.Value);
}
foreach (string s in result)
{
Console.WriteLine(s);
}
Console.ReadLine();或者正则委托另类应用
string str = "汉字123文字english";
List<string> result = new List<string>();
Regex.Replace(str, @"[\u4e00-\u9fa5]+|[^\u4e00-\u9fa5]+", delegate(Match m) { result.Add(m.Value); return ""; });
foreach (string s in result)
{
Console.WriteLine(s);
}
Console.ReadLine();