Как проверить наличие символа в строке на C#?

Пользователь

от jeremy_larkin , в категории: Другие , 3 года назад

Как проверить наличие символа в строке на C#?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от NicolasSsh , 3 года назад

Чтобы проверить наличие символа в строке на C#, Вы можете воспользоваться методом строки .Contains()

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
using System;

namespace contains
{
    class Program
    {
        static void Main(string[] args)
        {
            string user_1 = "torontotokyo";
            string user_2 = "Mario";

            Console.WriteLine($"{user_1} contains 'a' : {user_1.Contains('a')}"); // Проверяем наличие 'a'
                                                     // В случае наличия, результатом будет true
                                                     // В остальных случаях результатом будет false
            Console.WriteLine($"{user_2} contains 'a' : {user_2.Contains('a')}");

            // Вывод :
            // torontotokyo contains 'a' : False
            // Mario contains 'a' : True
        }
    }
}

Таким образом мы можем добавить, например, проверку на наличие цифр в строке :

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
using System;
using System.Linq;

namespace digits
{
    class Program
    {
        public static Boolean isContainsDigits(string str)
        {
            int[] digits = new int[10] { 1, 2, 3, 4, 5, 6, 7, 8, 9, 0 };
            return digits.Any(digit => str.Contains(Convert.ToString(digit)));
        }
        static void Main(string[] args)
        {
            string user_1 = "Alexa15";
            string user_2 = "IloveStephenKing";
            string user_3 = "TORONTOTOKYO";
            string user_4 = "1915Mario";

            Console.WriteLine($"{user_1} contains digits : {isContainsDigits(user_1)}");
            Console.WriteLine($"{user_2} contains digits : {isContainsDigits(user_2)}");
            Console.WriteLine($"{user_3} contains digits : {isContainsDigits(user_3)}");
            Console.WriteLine($"{user_4} contains digits : {isContainsDigits(user_4)}");

            // Вывод : 
            // Alexa15 contains digits: True
            // IloveStephenKing contains digits : False
            // TORONTOTOKYO contains digits : False
            // 1915Mario contains digits: True
        }
    } 
}


Пользователь

от jeromy_ruecker , 2 года назад

@jeremy_larkin 

Для проверки наличия символа в строке на C# можно использовать метод Contains класса String.


Например, если вам нужно проверить, содержится ли символ 'a' в строке myString, то код будет выглядеть так:

1
2
3
4
5
6
7
8
if (myString.Contains('a'))
{
    Console.WriteLine("Символ 'a' содержится в строке.");
}
else
{
    Console.WriteLine("Символ 'a' не содержится в строке.");
}


Также вы можете использовать метод IndexOf, который возвращает индекс первого вхождения символа в строке. Если символ не найден, метод возвращает -1.

1
2
3
4
5
6
7
8
9
int index = myString.IndexOf('a');
if (index != -1)
{
    Console.WriteLine($"Символ 'a' найден в индексе {index}.");
}
else
{
    Console.WriteLine("Символ 'a' не найден.");
}