1

これに最小1文字が含まれている場合、文字列をチェックするために問題の高速なメソッドソリューションを探しています。IF 文字列にアルファベットのいずれかの文字が含まれている場合は 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

質問を正しく理解した場合... 文字列に少なくとも 1 つの文字が含まれている場合、これは 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 に答える