我想做个自用的简单彩票软件,涉及到以下公式转换问题:中文公式是:(期数+期数合+期数尾),我想把中文公式转换成英文公式(time+timec+timet),用下面的方法:if (formula.IndexOf("期数") > 0)
      formula = formula.Replace("期数", "time");
if (formula.IndexOf("期数合") > 0)
      formula = formula.Replace("期数合", "timec");
if (formula.IndexOf("期数尾") > 0)
      formula = formula.Replace("期数尾", "timec");
得到的却是:(time+time合+time尾),请问用正则表达式能解决吗?还是用表达式解析的方式,请各位出点主意吧

解决方案 »

  1.   

    \b期数\b
    \b期数合\b
    \b期数尾\b
      

  2.   

    if (formula.IndexOf("期数合") > 0)
      formula = formula.Replace("期数合", "timec");
    if (formula.IndexOf("期数尾") > 0)
      formula = formula.Replace("期数尾", "timec");
    if (formula.IndexOf("期数") > 0)
      formula = formula.Replace("期数", "time");
    把顺序换下
      

  3.   

    正则加上 \b 匹配即可你也可以这样试试:if (formula.IndexOf("期数合") > 0)
      formula = formula.Replace("期数合", "timec");
    if (formula.IndexOf("期数尾") > 0)
      formula = formula.Replace("期数尾", "timec");
    if (formula.IndexOf("期数") > 0)  //将这句放到最后
      formula = formula.Replace("期数", "time");
      

  4.   

    如果是中英文两种语言的话还是建议使用资源文件吧这么多replace你不嫌麻烦啊
      

  5.   

     formula = formula.Replace("期数", "time").Replace("期数尾", "timec").Replace("期数", "time"); 一句话即可
      

  6.   

    formula = formula.Replace("期数合", "timec").Replace("期数尾", "timec").Replace("期数", "time");
      

  7.   

    \b期数\b
    \b期数合\b
    \b期数尾\b
      

  8.   

    formula = formula.Replace("期数合", "timec").Replace("期数尾", "timet").Replace("期数", "time");