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

怎么检查2个位数相同的字符串的每一位的数据类型是否一致?急急急急
怎么检查2个位数相同的字符串的每一位的数据类型是否一致?急急急急
例如:string   a   = "123abc ";
string   b   = "12a3bc ";
string   c   = "   345ghj ";
怎么判断,a和b不同,而a和c是相同的?

------解决方案--------------------
只能给个想法:字符取出每位与0-9比较,如果有相等就是整型,不等就是字符串型,然后判断
------解决方案--------------------
自己写个排序 给你个提示
string a={1,2,3,4,abc};
string b={1,2,3,4,abc);
for(int i=0;i <a.length;i++)
for(int j=0;j <b.length;j++)
string temp;

------解决方案--------------------
或者使用正则表达式验证
regex 类吧,,,我推荐使用这个
------解决方案--------------------
遍历字符串吧,逐个比较

------解决方案--------------------
用正则应该很简单。

先把字符串中的\d替换成0,\w替换成z
然后比较替换后的值是否相同就可以了。
------解决方案--------------------
用正则应该很简单。

先把字符串中的\d替换成0,\w替换成z
然后比较替换后的值是否相同就可以了。

-----------------
顶这个
------解决方案--------------------
先把字符串中的\d替换成0,\w替换成z
然后比较替换后的值是否相同就可以了。
=====================================
using System.Text.RegularExpressions;//要引用这个

string a= "123abc ";
string b= "12w1bc ";
string c= "345asf ";
string Ra=Regex.Replace(a,@ "\d ", "0 ");
Ra=Regex.Replace(Ra,@ "\w ", "z ");

依此类退 得到最后的 Ra,Rb,Rc 再比较字符串就OK了
------解决方案--------------------
weizhuangzhi(壮志) 方法不错,不过有点小问题,\w是包含\d的,这样替换后肯定都是一样的,第二步转换用[a-zA-Z]

private bool CompareStr(string src1, string src2)
{
src1 = Regex.Replace(src1, @ "\d ", "0 ");
src1 = Regex.Replace(src1, @ "[a-zA-Z] ", "z ");
src2 = Regex.Replace(src2, @ "\d ", "0 ");
src2 = Regex.Replace(src2, @ "[a-zA-Z] ", "z ");
return src1==src2?true:false;
}