日期:2014-05-20  浏览次数:20985 次

判断字符串中包含字母和数字
如何判断一个字符串中是含有26个英文字母的任何一个或10个数字中的任何一个,只需要判断出有还是没有。
并且字符串可能含有非法字符,不能用正则表达式来判断,肯请哪位帮忙解决一下。方便的话,写一下主要方法和步骤,新手上路,许多方法不知道。
------最佳解决方案--------------------
为啥不能正则?

Regex.IsMatch(yourstring,@"\b[a-zA-Z0-9]+\b");

刚好是a-zA-Z0-9...其他都不行


------其他解决方案--------------------
字符串可以(在c#中)直接转换为char[]来使用。例如写
var flag = s.Any(c => c >= '0' && c <= '9');
可以判断是否有数字。
------其他解决方案--------------------
如何判断一个字符串中是含有26个英文字母的任何一个或10个数字中的任何一个

这句话我理解不了..
------其他解决方案--------------------
原来就是\w
------其他解决方案--------------------
主要是我数据库里的有些字符串本身含有非法字符,一用正则表达式就出错
------其他解决方案--------------------
如果按这种方法的话,大小写也得分开想这样写啊?
如var flag = s.Any(c => c >= 'a' && c <= 'z');
  var flag = s.Any(c => c >= 'A' && c <= 'Z');

(字符串可以(在c#中)直接转换为char[]来使用。例如写
C# code
1
var flag = s.Any(c => c >= '0' && c <= '9');
可以判断是否有数字。)
------其他解决方案--------------------
我重新描述下需求吧!呵呵...
有个ArrayList数组,里面含有很多字符串,遍历ArrayList,寻找到含有字母或数字的字符串(可以只包含数字,也可以只包含字母,也可以是字母、数字都有),然后把含有字母和数字的这小段截出来做处理,字母和数字的位置不一定。
假如说现在有ArrayList里的两个字符串,如:s1=“中国您好!”,S2=“您好吗?6huUJ中国”,我如何寻找到含有字母和数字的s2,并把6huUJ截取出来!由于数据库里的数据量比较大,得靠考虑全面一点。
不知道我说清楚了没有,希望大家帮帮忙,帮我解决一下...我会给大家高分的