如何检查该字符串是否仅包含英文

时间:2011-01-19 07:36:57

标签: c#

我有一个包含以下值的字符串:

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

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

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

现在我想从arraylist中删除所有那些属于非英语语言的字符串(在我的上下文中,那些用“hindi”编写的单词应该被删除)

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

注意:我对通用列表没有任何问题。我也不能接受它。但请告诉我如何检查字符串是否只包含字母+数字+符号 感谢

2 个答案:

答案 0 :(得分:4)

根据ascii tables英文单词(带数字)的字符应介于48 - 57(0-9),65-90(A-Z)和97-122(a-z)之间

您可能希望添加标点符号和其他导入字符,例如é(例如来自未婚夫)。

答案 1 :(得分:3)

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

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