例如我的原始字符串是
cname=明细技术{5#6#78#12}现在我要取出的是
name=明细技术
ah=5
bh=6
ch=78
dh=12
我应该怎么写。谢谢各位!急!

解决方案 »

  1.   

    List<string> strList = new List<string>();
                MatchCollection mc = Regex.Matches(cname, @"\w+");
                if (mc.Count > 0)
                    for (int i = 0; i < mc.Count; i++)
                    {
                        strList.Add(mc[i].Value.Remove(0,1));
                    }
                return strList;
      

  2.   

    List<string> strList = new List<string>();
                MatchCollection mc = Regex.Matches(condition, @"[^\w@]@[\w#][\w@#]+");
                if (mc.Count > 0)
                    for (int i = 0; i < mc.Count; i++)
                    {
                        strList.Add(mc[i].Value);
                    }
                return strList;
      

  3.   

    name=cname.substring(0,cname.indexof("{"));
    str=cname.substring(cnmae.indexof("{")+1,cname.length-name.length-2).split('#');
    ah=str[0];
    bh=str[1];
    ch=str[2];
    dh=str[3];
      

  4.   

    string[] s=cname.Replace("{","|").Replace("}","").Replace("#","|").Split('|');
    for(int i=0;i<s.Length;i++)
    {
    string name=s[i].ToString();
    }
      

  5.   

    czsxj(好好学习天天向上)的方法应该最方便啦
      

  6.   

    Regex regex = new Regex("{|#|}");
    string[] strResult =  regex.Split("明细技术{5#6#78#12}");
      

  7.   

    如果你的数据格式都是这样的:
        明细技术{5#6#78#12}
    那就好办了,我做过的是直接用split,定义一个String数组来存储分割后的字符串数组!(分隔符为#)
    而后只要对第一个String做处理,去掉{ ,和对最后一个String 做处理去掉 },就可以了,  (我想这样的处理你应该是会的了!)
    yistudio(阳光灿烂的日子) 你可以用来参照,我写的没有他(她)这么精简,就不放代码了!!
      

  8.   

    我也会了,
    a =sheetname.IndexOf("{"); 
    b =sheetname.IndexOf("}");
    rootkey=sheetname.Substring(a+1,b-a-1);
    name=sheetname.Substring(0,a-1);
    string delimStr = "~";
    char [] delimiter = delimStr.ToCharArray();
    strTemp = rootkey.Split(delimiter);
    ah= strTemp[0].ToString();
    bh =strTemp[1].ToString();
    ch = strTemp[2].ToString();
    dh = strTemp[3].ToString();