1

我正在寻找我的问题的快速方法解决方案来检查字符串,如果它包含最小一个字符。如果字符串包含字母表中的任何一个字符,则返回 true,否则返回 false。

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

例如:

"1232133432454355467" return false 
"134324239846c" return true
4

6 回答 6

4

尝试:

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 通用类别

于 2013-11-01T10:32:09.413 回答
2

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

    public bool checkString(String s)
    {
        return s.Any(x => Char.IsLetter(x));
    }
于 2013-11-01T10:34:20.160 回答
1

用 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
}
于 2013-11-01T10:35:33.920 回答
1

只是为了完成。

// 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;
}
于 2013-11-01T10:36:49.707 回答
1

那这个呢?

if (Regex.IsMatch(yourString, "[a-zA-Z]"))
{
}
于 2013-11-01T10:38:12.113 回答
1
static void Main(string[] args)
        {
            Console.WriteLine(checkString("137563475634c756"));
        }
        static  public bool checkString(String s)
        {
            return Regex.IsMatch(s, "[a-zA-Z]");
        }

它返回真。

于 2013-11-01T10:44:15.343 回答