分割字符为数组的正则表达式 jsk\,j23,343,53\,425,234df,sff,我想分割上面的字符为数组,以逗号为分割点,但是不能分割\,的字符,那应该如何写这条正则表达式呢?谢谢 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 直接调用string 的方法Split不就行了么,而且比正则的效率高 private void TestRegex07(){ string yourStr = @"jsk\,j23,343,53\,425,234df,sff,"; string[] result = Regex.Split(yourStr, @"(?<!\\),"); foreach (string s in result) { MessageBox.Show(s); }} 其实这种需求用Regex.Split不如用Regex.Matches原因之一是就楼主所给例子,Regex.Split会多分割出一个空白项另一个原因就是如果源字符串是下面这种形式jsk\,j23,343,53\\,425,234df,sff,那么Regex.Split的正则需要写得比较复杂才能满足要求Regex reg = new Regex(@"([^,\\]|\\\\|\\,)+");MatchCollection mc = reg.Matches(yourStr);foreach (Match m in mc){ richTextBox2.Text += m.Value + "\n";}说用string 的方法Split的要么是没看需求,要么是太想当然了,为什么不动手去试一下呢 客客师傅说的对。Match可以少一个空值。 C#操作SQLite数据库 请教关于.net开发WINCE的程序,环境如何抢建,谢谢 求C#控件重写实例 长数组赋值的问题 100分请教高手几个问题!解决散分,不够再垒。 怎么编写一个输入法软件? 打开窗口问题,急~~ 关于WEB的一个简单的问题,马上结。 winform 中 datagrid 如何修改列标题,如何分页,如何有滚动条呢? 如何让控件居中 System.Net.Mail的发信问题 请教UltraGrid的问题
{
string yourStr = @"jsk\,j23,343,53\,425,234df,sff,";
string[] result = Regex.Split(yourStr, @"(?<!\\),");
foreach (string s in result)
{
MessageBox.Show(s);
}
}
另一个原因就是如果源字符串是下面这种形式
jsk\,j23,343,53\\,425,234df,sff,
那么Regex.Split的正则需要写得比较复杂才能满足要求Regex reg = new Regex(@"([^,\\]|\\\\|\\,)+");
MatchCollection mc = reg.Matches(yourStr);
foreach (Match m in mc)
{
richTextBox2.Text += m.Value + "\n";
}说用string 的方法Split的要么是没看需求,要么是太想当然了,为什么不动手去试一下呢