怎样在字符串中找到数组strCh[]{"<","<=","==","!=",">",">="}这样的运算符号!

nishengqiang04 2005-03-30 02:57:56
找到以后根据数组相应的符号split()比如: (12+13)*2+12-11>=34 要把符号>=前后的字符串分成两部分
解决拉马上结帐!
...全文
184 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
xiaoniaofei 2005-04-01
  • 打赏
  • 举报
回复
不如用操作符重载!
_-_-_-_- 2005-04-01
  • 打赏
  • 举报
回复
用那个IndexOf成不成???找到之后就可以分开啦~~~
stoneyu 2005-03-31
  • 打赏
  • 举报
回复
我覺得這個和編譯原理的課程沒有什麽關係.
用indexof找出位置,記錄下來,再substring,分開字符
這過程是要用到循环的了.
Overriding 2005-03-31
  • 打赏
  • 举报
回复
你说的基本是编译原理词法分析器的实验课题内容,要用到递规,这样比较方便.
moneyboy 2005-03-30
  • 打赏
  • 举报
回复
说了楼主去找本<<编译原理>>的书看看吧。就那样搞。
nishengqiang04 2005-03-30
  • 打赏
  • 举报
回复
其实就是对写入到文本框里面的内容进行有效性验证!
文本框里面大概的形式是这样的:int(类型是不确定的),(12+11)*2-11>=(运算符号也是不确定的)34
如果比较的结果是正确的,返回true;反之,返回false
还有一种情况是:int,(12+11)*2-11
步骤:先判断有没有象这样的运算符号>=: 如有,把这个运算符号前后分成两部分 然后进行分别判断里面的数据类型是否跟int一致 如有的数据不一致则进行转化 然后把两部分作比较
如果没有象这样的运算符号>=: 直接判断数据是否一致
MayiMayi1 2005-03-30
  • 打赏
  • 举报
回复
用正式表达式(\S)*([>=]|[<=]|[!=])(\S)*
不知道能不能行,自己测试,只是提个思想
shoutor 2005-03-30
  • 打赏
  • 举报
回复
没明白想做什么
Overriding 2005-03-30
  • 打赏
  • 举报
回复
关键是看楼主要实现什么样的功能,你题目中说的功能并没有真正完整地描述你自己的需求!
moneyboy 2005-03-30
  • 打赏
  • 举报
回复
学过编译原理么?写词法分析器。
最简单的方法就是搞个嵌套的循环判断。
如:先取一个'>',然后读下一个字符,如果下一个字符是'='就。。。否则就。。。
nishengqiang04 2005-03-30
  • 打赏
  • 举报
回复
怎样得到>=或<=或==或!=的字符串?因为我还要在最后利用它们来进行比较
LoveCherry 2005-03-30
  • 打赏
  • 举报
回复
string s="(12+13)*2+12-11=34";
string [] arrs=s.Split(new char[]{'<','>','=','!'});
foreach(string ss in arrs)
{
if(ss!="")Console.WriteLine(ss.TrimStart(new char[]{'='}));
}

62,047

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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