string nameStr="zhangShan(张三)";
//取得英文名称:zhangShan
string userName = Regex.Match(nameStr, @"????????").Groups[0].Value;
//取得中文名称:张三
string userNameCn = Regex.Match(nameStr, @"????????").Groups[1].Value;其中的表达式“????????”应该如何写?感谢!

解决方案 »

  1.   

    张三的汉语拼音是zhangSan,不是zhangShan
      

  2.   

    你确定是Groups[0]Groups[1] 而不是Groups[1]Groups[2]
      

  3.   

    问题有变,
    ================================================================================
    string nameStr="zhangShan(张三),lisi(李四),wangwu(王五)";
    //只要取得英文名字,中间用“,"号连接起来,如:zhangshan,lisi,wangwu。应该怎么做?
    string userName = ???????================================================================================
    感激不尽!
      

  4.   

    问题有变,
    ================================================================================
    string nameStr="zhangShan(张三),lisi(李四),wangwu(王五)";
    //只要取得英文名字,中间用“,"号连接起来,如:zhangshan,lisi,wangwu。应该怎么做?
    string userName = ???????================================================================================
    感激不尽!
      

  5.   

    string nameStr="zhangShan(张三),lisi(李四),wangwu(王五)";
    //只要取得英文名字,中间用“,"号连接起来,如:zhangshan,lisi,wangwu。应该怎么做?
    string[] userName = nameStr.Split(',');//这里现要取出分组
      

  6.   

    string nameStr="zhangShan(张三),lisi(李四),wangwu(王五)";
    string userName=Regex.Replace(nameStr,"[^a-zA-Z,]+","");
    //写完自己都笑了
      

  7.   

    我试试,非常谢谢cancerser(都是混饭吃,记得要结帖)
      

  8.   

    string nameStr="zhangShan(张三),lisi(李四),wangwu(王五)";
    System.Text.RegularExpressions.Regex regex = new System.Text.RegularExpressions.Regex(@"\(.*?\)");
    string strResult = regex.Replace(nameStr, String.Empty);
      

  9.   

    只取英文名字:
    string nameStr="zhangShan(张三),lisi(李四),wangwu(王五)";
    string userName =Regex.Replace(nameStr,@"(\(|\()[\u4e00-\u9fa5]+(\)|\))","",RegexOptions.IgnoreCase);
      

  10.   

    string nameStr="zhangShan(张三),lisi(李四),wangwu(王五)";
    string userName=Regex.Replace(nameStr,"[^a-zA-Z,]+","");
    //写完自己都笑了-------------------------
    //这样
    string nameStr="zhangShan(张三),lisi(李四),wangwu(王五)";
    string userName=Regex.Replace(nameStr,"[^a-zA-Z,]","");
    //呵呵,不知道效率哪个高,写正则很少考虑效率,有机会还要向cancerser兄请教
      

  11.   

    string nameStr = "zhangShan(张三),lisi(李四),wangwu(王五)";   
                string[] enName = Regex.Replace(nameStr, @"[^a-zA-Z,]", "", RegexOptions.IgnoreCase).Split(',');
                string[] cnName = Regex.Replace(nameStr, @"[a-zA-Z()()]", "", RegexOptions.IgnoreCase).Split(',');            for (int ix = 0; ix < enName.Length; ix++ )
                {
                    Console.WriteLine(enName[ix]);
                }
                for (int ix = 0; ix < cnName.Length; ix++)
                {
                    Console.WriteLine(cnName[ix]);
                }                //---
                    Console.Read();
      

  12.   

    to lxcnn(过客)呵呵当然 是你写的那个,"[^a-zA-Z,]+?" 这样就差不多
      

  13.   

    to lxcnn(过客)呵呵当然 是你写的那个,"[^a-zA-Z,]+?" 这样就差不多----------------------------
    to:cancerser 到目前为止,遇到的正则问题都是小数据量的,所以就算有效率问题一般体现不出来,暂时只是做到遇到问题能写出来,找时间再深入的学习一下这方面的知识了,到时如果有不懂的,还望cancerser兄不吝赐教