有一个字符串:0,0.!!鼠!牛!虎!兔!龙!,88888.!0,0.!!虎!兔!猴!鸡!,888888  ……  .!0,0.!!虎!龙!蛇!狗!,565656.!如何把这字符串分割成:!鼠!牛!虎!兔!龙!      88888!虎!兔!猴!鸡!         888888   ……!虎!龙!蛇!狗!        565656要分别取出文字和数字  希望各位大侠能帮帮忙~~~

解决方案 »

  1.   

    从你提供的字符串看来,0,0.!应该是整个字符串的分隔符,也可以看作你的整个字符串都是由0,0.!!鼠!牛!虎!兔!龙!,88888.!这样的块组成的,所以用正则解决是可以的,以0,0.!开始以 .!作为结束的pattern.
      

  2.   

    using System.Text.RegularExpressions;string test = "0,0.!!鼠!牛!虎!兔!龙!,88888.!0,0.!!虎!兔!猴!鸡!,888888     ……     .!0,0.!!虎!龙!蛇!狗!,565656.! ";
    MatchCollection mc = Regex.Matches(test, @"(?<text>!([\u4e00-\u9fa5]!)+),(?<num>\d+)");
    foreach (Match m in mc)
    {
        Console.WriteLine(m.Groups["text"].Value);  //文字
        Console.WriteLine(m.Groups["num"].Value);   //数字
    }