首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >检查字符串输入内容

检查字符串输入内容
EN

Stack Overflow用户
提问于 2010-07-21 02:44:12
回答 5查看 39.5K关注 0票数 6

如何检查我的输入是否是特定类型的字符串。所以没有数字,没有"/",...

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2010-07-21 02:48:43

要检查输入是否确实是System.String类型的对象,您可以简单地这样做:

代码语言:javascript
运行
复制
bool IsString(object value)
{
    return value is string;
}

要检查string是否只包含字母,可以执行以下操作:

代码语言:javascript
运行
复制
bool IsAllAlphabetic(string value)
{
    foreach (char c in value)
    {
        if (!char.IsLetter(c))
            return false;
    }

    return true;
}

如果你想把它们组合起来,你可以这样做:

代码语言:javascript
运行
复制
bool IsAlphabeticString(object value)
{
    string str = value as string;
    return str != null && IsAllAlphabetic(str);
}
票数 15
EN

Stack Overflow用户

发布于 2010-07-21 02:48:13

如果你的意思是“字符串完全是字母”,你可以这样做:

代码语言:javascript
运行
复制
string myString = "RandomStringOfLetters";
bool allLetters = myString.All( c => Char.IsLetter(c) );

这是基于LINQ和Char.IsLetter方法的。

票数 10
EN

Stack Overflow用户

发布于 2010-07-21 02:47:12

不完全清楚您想要什么,但您可能可以使用正则表达式来实现。例如,要检查字符串是否只包含a-z或A-Z中的字母,可以这样做:

代码语言:javascript
运行
复制
string s = "dasglakgsklg";
if (Regex.IsMatch(s, "^[a-z]+$", RegexOptions.IgnoreCase))
{
    Console.WriteLine("Only letters in a-z.");
}
else
{
    // Not only letters in a-z.
}

如果您还希望允许使用空格、下划线或其他字符,只需将它们添加到正则表达式中的方括号之间。请注意,某些字符在正则表达式字符类中有特殊含义,需要使用反斜杠进行转义。

您还可以使用Unicode而不是[a-z]来匹配任何被视为字母的Unicode字符,包括外来字母。

票数 6
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3293241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档