日期:2014-05-18  浏览次数:20552 次

(过客)正则表达式 或者C#语言判断字符是否同时存在
下面给出的变量abc不确定   我的目的是确定“类似字符串”是否同时存在   换句话说判断某个字符串一定存在在某个字符串中;

string   abc   =   "我的minisd卡 ";
int   a   =   abc.IndexOf( "minisd卡 ");
int   b   =   abc.IndexOf( "sd卡 ");

if   (a   >   -1   &&   b   ==   -1)
Console.WriteLine( "有minisd ");
else   if   (a   ==   -1   &&   b   >   -1)
Console.WriteLine( "有sd ");
else   if   (a   >   -1   &&   b   >   -1)
Console.WriteLine( "同时存在 ");

=====上面判断是错误的     因为结果为同时存在。。。

------解决方案--------------------
VS的里的ctrl+f 搜索也是正则匹配的。。
------解决方案--------------------
Response.Write(Regex.IsMatch( "minisd卡 ", @ "([^a-zA-Z]+|^)sd([^a-zA-Z]+|$) "));

minisd卡 false
我的sd卡 true
my sd卡 true
sd true
------解决方案--------------------
话句话说我现在就是要找出我给出的字符的左右两边都不是字母的项
打个比方 : minisd卡,我的sd卡,my sd卡 这种情况就能匹配出2个sd卡

==============
楼主这么说就看懂你的意思了。看你刚发贴的话我迷糊,先帮你顶一下 回去研究

------解决方案--------------------
这行代码改一下就行了

argChe = Regex.Replace(argChe, @ "[\u4E00-\u9FA5\.\$\^\{\[\(\|\)\*\+\?\\] ", " ");