繁体   English   中英

检查字符串

[英]Check String of chars

我正在寻找我的问题的快速方法解决方案,以检查字符串(如果其中包含最小的一个字符)。 如果String包含字母中任意一个字符,则返回true,否则返回false。

public bool checkString(String s)
{
  return true || false;
}

例如:

"1232133432454355467" return false 
"134324239846c" return true

尝试:

using System;
using System.Text.RegularExpressions;

class Program
{
    static void Main()
    {
        var r = CheckString("112");
        Console.WriteLine(r); // false
        r = CheckString("112a");
        Console.WriteLine(r); // true
    }

    public static bool CheckString(String input)
    {
        return Regex.Match(input, @"[a-zA-Z]").Success;
        // or, as @Vlad L suggested
        //return Regex.IsMatch(input, @"[a-zA-Z]");
    }
}

如果要针对“所有字母” Unicode字符类进行验证,请改用此字符类:

return Regex.IsMatch(input, @"\p{L}");

参考: 支持的Unicode常规类别

如果我正确理解了问题...如果字符串包含至少一个字母,则返回true。

    public bool checkString(String s)
    {
        return s.Any(x => Char.IsLetter(x));
    }

尝试使用ToCharArray():

public bool checkString(String s)
{
    bool retValue =  s.ToCharArray()
                      .Any(c => ((int)c > 64 && (int)c < 91) || 
                                ((int)c > 96 && (int)c < 123));
    return retValue
}

只是为了完成。

// Regex to check the value consists of letters
// with atleast 1 character
private static Regex reg = new Regex(@"[a-zA-Z]+");

public bool checkString(String s)
{
    return reg.Match(s).Success;
}

那这个呢?

if (Regex.IsMatch(yourString, "[a-zA-Z]"))
{
}
static void Main(string[] args)
        {
            Console.WriteLine(checkString("137563475634c756"));
        }
        static  public bool checkString(String s)
        {
            return Regex.IsMatch(s, "[a-zA-Z]");
        }

它返回True。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM