请教中英文公式转换问题

zjdst 2010-11-16 01:31:14
我想做个自用的简单彩票软件,涉及到以下公式转换问题:

中文公式是:(期数+期数合+期数尾),我想把中文公式转换成英文公式(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尾),请问用正则表达式能解决吗?还是用表达式解析的方式,请各位出点主意吧
...全文
175 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
sxldfang 2010-11-19
  • 打赏
  • 举报
回复
formula = formula.Replace("期数合", "timec").Replace("期数尾", "timet").Replace("期数", "time");
验证码识别 2010-11-19
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 q107770540 的回复:]
正则加上 \b 匹配即可

你也可以这样试试:

if (formula.IndexOf("期数合") > 0)
formula = formula.Replace("期数合", "timec");
if (formula.IndexOf("期数尾") > 0)
formula = formula.Replace("期数尾", "timec");
if (formula.I……
[/Quote]
up
doubleu2005 2010-11-19
  • 打赏
  • 举报
回复
还是顺序问题,“期数”在前把后面的所有带“期数”的字符串都替换了,你还想要什么样的好方法?
liye320382 2010-11-19
  • 打赏
  • 举报
回复
\b期数\b
\b期数合\b
\b期数尾\b
zjdst 2010-11-19
  • 打赏
  • 举报
回复
有更好的解决方案吗?
q107770540 2010-11-16
  • 打赏
  • 举报
回复
formula = formula.Replace("期数合", "timec").Replace("期数尾", "timec").Replace("期数", "time");
q107770540 2010-11-16
  • 打赏
  • 举报
回复
formula = formula.Replace("期数", "time").Replace("期数尾", "timec").Replace("期数", "time");

一句话即可
lonyjianhui 2010-11-16
  • 打赏
  • 举报
回复
0.0位置调转了,都执行了第一步,第二第三步没有执行
Teng_s2000 2010-11-16
  • 打赏
  • 举报
回复
如果是中英文两种语言的话还是建议使用资源文件吧

这么多replace你不嫌麻烦啊
whrspsoft3723 2010-11-16
  • 打赏
  • 举报
回复
不需要用正则,把你的顺序倒 过来匹配就行了。
长的在前,短的在后、
q107770540 2010-11-16
  • 打赏
  • 举报
回复
正则加上 \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");
fellowcheng 2010-11-16
  • 打赏
  • 举报
回复
if (formula.IndexOf("期数合") > 0)
formula = formula.Replace("期数合", "timec");
if (formula.IndexOf("期数尾") > 0)
formula = formula.Replace("期数尾", "timec");
if (formula.IndexOf("期数") > 0)
formula = formula.Replace("期数", "time");
把顺序换下
q107770540 2010-11-16
  • 打赏
  • 举报
回复
\b期数\b
\b期数合\b
\b期数尾\b

111,129

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧