Проверить строку символов

Я ищу быстрое решение моей проблемы для проверки строки, если она содержит минимум один символ. ЕСЛИ строка содержит любой символ в алфавите, тогда возвращает true, иначе false.

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

Например:

"1232133432454355467" return false 
"134324239846c" return true

person Butters    schedule 01.11.2013    source источник
comment
почему бы не String.Contains?   -  person Sachin    schedule 01.11.2013
comment
Вы хотите проверить, является ли строка буквенно-цифровой или содержит более одного символа? Или оба? Пожалуйста, объясните лучше.   -  person Chris Pickford    schedule 01.11.2013
comment
не буквенно-цифровой, а только char.   -  person Butters    schedule 01.11.2013
comment
Каждая непустая строка содержит char. char — это тип в C#, представляющий любой символ. Я думаю, вы на самом деле имеете в виду букву.   -  person pescolino    schedule 01.11.2013


Ответы (6)


Пытаться:

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

person Alex Filipovici    schedule 01.11.2013
comment
Или просто return Regex.IsMatch(input, @"[a-zA-Z]"); :) - person VladL; 01.11.2013

Если я правильно понял вопрос... Это возвращает true, если строка содержит хотя бы одну букву.

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

Попробуйте это с 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
}
person Kaf    schedule 01.11.2013

Просто ради завершения.

// 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;
}
person Kami    schedule 01.11.2013

Что насчет этого?

if (Regex.IsMatch(yourString, "[a-zA-Z]"))
{
}
person Nickon    schedule 01.11.2013
comment
Да, извините, я не понял, чего он хочет. Увидел после того, как он обновил свой пост. Исправленный - person Nickon; 01.11.2013

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

Возвращает Истинно.

person Sudhakar Tillapudi    schedule 01.11.2013