如果有字符数组:LotteryNumber={48=24/18,49=7,50=6/12}
此时 25应替换为:3:0 同理:18为 2:0  7为 1:2  6为 2:1  12为4:0
怎样读出“=”之前的行号,保持不变,只替换“24/18”这种“,”之前的数字呢
望高手用C#语言指点下
谢谢

解决方案 »

  1.   

    你的数组LotteryNumber[0]="48=24/18",LotteryNumber[1]="49=7",LotteryNumber[2]="50=6/12"
    你只要用'='来切割就能拿到=前面的了 string.spli()
      

  2.   

    MatchCollection mc = Regex.Matches("LotteryNumber={48=24/18,49=7,50=6/12}",@"(?<mask>\w+)={(?<data>(?:\d+=\d+(/\d+)?,*)+)}
    foreach(Match m in mc)
    {
        m.Groups["mask"].Value;//这个就是LotteryNumber
        m.Groups["data"].Value;//这个是你的数据
    }
      

  3.   

    分割字符串用split,
    string.split(',')再用=分割一下不就行了。string[] strOne=LotteryNumber.split(',');
    for(int i=0;i<strOne.length;i++)
    {
        string[] strTwo=strOne[i].split('=');
        string result1=strTwo[0];  //“=”前
        string result2=strTwo[1];  //“=”后
    }