Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 检查字符是否为空_C#_.net_Char - Fatal编程技术网

C# 检查字符是否为空

C# 检查字符是否为空,c#,.net,char,C#,.net,Char,我想检查字符串是否只包含正确的字母。 为此,我使用了Char.isleter。 我的问题是,当有像éorá这样的字符时,它们也被认为是正确的字母,而这不应该是正确的 是否有可能检查字符是否为正确的字母a-Z或a-Z,而不使用特殊的字母,如á?您可以使用正则表达式\w或[a-zA-Z]对其进行检查您可以使用char.isleter(c)&&c

我想检查字符串是否只包含正确的字母。 为此,我使用了
Char.isleter
。 我的问题是,当有像éorá这样的字符时,它们也被认为是正确的字母,而这不应该是正确的


是否有可能检查字符是否为正确的字母a-Z或a-Z,而不使用特殊的字母,如á?

您可以使用正则表达式
\w
[a-zA-Z]
对其进行检查

您可以使用
char.isleter(c)&&c<128
。或者仅仅是
c<128
本身,这似乎最符合您的问题

bool IsEnglishLetter(char c)
{
    return (c>='A' && c<='Z') || (c>='a' && c<='z');
}
但是您通过过滤字符来解决编码问题。务必调查其他应用程序确切了解的内容


可能您只需要使用
Encoding.GetEncoding(someCodePage)
进行编写

使用Linq以方便访问:

if (yourString.All(char.IsLetter))
{
    //just letters are accepted.
}

我必须导出一个文件,然后将其导入另一个应用程序,如果有特殊符号,例如,……当然,……或á是字母……我不知道为什么它们不是字母,但你可以强制它们返回ascii,因为我认为第二个更好,第一个也可能接受重音字符。不是100%确定,但我记得不会的。我在这方面遇到了一些麻烦\例如,w与挪威的符号不匹配。启用unicode有一种方法:但我还没有尝试过。我也不确定。既然我们都确信[a-zA-Z]会起作用,任何阅读代码的人都会起作用,那就更好了。嗯?OP明确指出Char.isleter不执行所需的操作。c<128本身将返回非字母
// Create the regular expression
string pattern = @"^[a-zA-Z]+$";
Regex regex = new Regex(pattern);

// Compare a string against the regular expression
return regex.IsMatch(stringToTest);
if (yourString.All(char.IsLetter))
{
    //just letters are accepted.
}