71 votes

Comment vérifier si une chaîne de caractères contient un caractère en C# ?

Existe-t-il une fonction que je peux appliquer à une chaîne de caractères qui renverra vrai ou faux si la chaîne contient un caractère ?

J'ai des chaînes de caractères avec une ou plusieurs options de caractères telles que :

var abc = "s";
var def = "aB";
var ghi = "Sj";

Ce que je voudrais faire par exemple, c'est avoir une fonction qui renvoie vrai ou faux si le texte ci-dessus contient un "s" minuscule ou majuscule.

if (def.Somefunction("s") == true) { }

En C#, dois-je vérifier si quelque chose est vrai comme ceci ou puis-je simplement supprimer le "== true" ?

2voto

Sergejs Points 1154

Il sera difficile de travailler en C# sans savoir comment travailler avec les chaînes de caractères et les booléens. Mais de toute façon :

        String str = "ABC";
        if (str.Contains('A'))
        { 
            //...
        }

        if (str.Contains("AB"))
        { 
            //...
        }

2voto

Maurice Stam Points 2715

Vous pouvez créer votre propre méthode d'extension si vous prévoyez de l'utiliser souvent.

public static class StringExt
{
    public static bool ContainsInvariant(this string sourceString, string filter)
    {
        return sourceString.ToLowerInvariant().Contains(filter);
    }
}

exemple d'utilisation :

public class test
{
    public bool Foo()
    {
        const string def = "aB";
        return def.ContainsInvariant("s");
    }
}

0voto

Karan Shah Points 593

Voici un exemple de ce que la plupart d'entre nous ont fait

using System;

class Program
{
    static void Main()
    {
        Test("Dot Net Perls");
        Test("dot net perls");
    }

    static void Test(string input)
    {
        Console.Write("--- ");
        Console.Write(input);
        Console.WriteLine(" ---");
        //
        // See if the string contains 'Net'
        //
        bool contains = input.Contains("Net");
        //
        // Write the result
        //
        Console.Write("Contains 'Net': ");
        Console.WriteLine(contains);
        //
        // See if the string contains 'perls' lowercase
        //
        if (input.Contains("perls"))
        {
            Console.WriteLine("Contains 'perls'");
        }
        //
        // See if the string contains 'Dot'
        //
        if (!input.Contains("Dot"))
        {
            Console.WriteLine("Doesn't Contain 'Dot'");
        }
    }
}

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X