2011-01-19 85 views
4

我有一个包含类似值的字符串:如何检查字符串中包含的英文只有

string str ="Abhigyan Prakash,Primeshow,NewsPoint,NCP,Inflation,सरकार,राहुल,प्राइम शो,न्यूजप्वाइंट,कमजोर,एनसीपी,अभिज्ञान प्रकाश,Rahul"; 

我用下面的代码将其转换为数组列表:

ArrayList altags = new ArrayList(str.Split(',')); 
现在

我想从数组列表从非英语语言属于删除所有这些字符串(在我的情况下这是写在“印地文”应该被删除的那些话)

请建议我如何检查字符串写入英文(带数字和符号)或其他语言。

注:我没有通用列表的问题。我不能把它也。但请告诉我如何检查该字符串中是否只包含字母+数字+符号 谢谢

+0

什么是“英语”?只有ASCII字符,没有口音等? (为什么你使用ArrayList,顺便说一句,你有什么理由不能使用泛型集合?) – 2011-01-19 07:39:35

+0

对,祝你好运。 – 2011-01-19 07:40:24

回答

3

如果您需要使用拉丁符号,数字符号和空格来过滤字符串,则可以使用正则表达式。

 var regex = new Regex("[a-zA-Z0-9 ]*"); 
     var result = str.Split(',') 
         .Where(s => regex.Match(s).Value == s) 
         .ToArray(); 
3

根据ascii tables英文单词(带数字)的字符应该在48-57(0-9),65- 90(AZ)和97-122(az)

您可能想要添加范围标点符号和其他导入字符,如é(例如,来自未婚妻)。

相关问题