2013-11-01 4 views
1

Я ищу быстрый метод решения моей проблемы для проверки строки, если она содержит минимум один символ. IF String содержит как любой символ в алфавите, а затем возвращает true, иначе false.Check String of chars

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

Для примера:

"1232133432454355467" return false 
"134324239846c" return true 
+2

Почему бы не ** String.Contains **? – Sachin

+2

Хотите ли вы проверить, что строка является буквенно-цифровой или она содержит более одного символа? Или оба? Пожалуйста, объясните себя лучше. –

+0

не алфавитно-цифровой только только символ. – Butters

ответ

4

Try:

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}"); 

Refere nce: Supported Unicode General Categories

+1

Или просто 'return Regex.IsMatch (input, @" [a-zA-Z] ");' :) – VladL

2

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

public bool checkString(String s) 
    { 
     return s.Any(x => Char.IsLetter(x)); 
    } 
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 
} 
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; 
} 
1

Что относительно этого?

if (Regex.IsMatch(yourString, "[a-zA-Z]")) 
{ 
} 
+1

Вы, извините - я не понимал, чего он хочет. Я видел, как он обновил свой пост. Исправленный – Nickon

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

Это возвращает True.