Maison > développement back-end > C++ > Comment puis-je vérifier les préfixes et extraire les sous-chaînes numériques en C ?

Comment puis-je vérifier les préfixes et extraire les sous-chaînes numériques en C ?

Mary-Kate Olsen
Libérer: 2024-11-03 09:22:29
original
788 Les gens l'ont consulté

How Can I Check for Prefixes and Extract Numeric Substrings in C  ?

Vérification du préfixe et extraction d'une sous-chaîne numérique en C

En Python, vérifier si une chaîne commence par un préfixe spécifique et convertir une sous-chaîne en un entier est une tâche simple. Cependant, en C , il peut ne pas être immédiatement évident comment obtenir une fonctionnalité similaire.

Pour déterminer si une chaîne commence par une certaine sous-chaîne, nous pouvons utiliser la fonction rfind avec le paramètre pos défini sur zéro. Cela garantit que la recherche est limitée au début de la chaîne. Par exemple :

<code class="cpp">std::string str = "tititoto";
if (str.rfind("titi", 0) == 0) {
    // The string starts with "titi"
}</code>
Copier après la connexion

Dans l'exemple ci-dessus, pos est défini sur zéro, ce qui limite la recherche au préfixe. Par conséquent, rfind renvoie 0 si la chaîne commence par la sous-chaîne spécifiée. Sinon, il renvoie std::string::npos, indiquant un échec.

Avec C 20 et versions ultérieures, le processus devient plus simple grâce à l'introduction de start_with dans std::string et std::string_view.

<code class="cpp">std::string str = "tititoto";
if (str.starts_with("titi")) {
    // The string starts with "titi"
}</code>
Copier après la connexion

Pour extraire une sous-chaîne numérique d'une chaîne, nous pouvons utiliser std::stoi. Par exemple, si nous avons une chaîne telle que "--foo=98", nous pouvons extraire la valeur numérique comme suit :

<code class="cpp">std::string arg = "--foo=98";
std::size_t pos = arg.find("--foo=");
if (pos != std::string::npos) {
    std::string foo = arg.substr(pos + sizeof("--foo=") - 1);
    int foo_value = std::stoi(foo);
}</code>
Copier après la connexion

Dans ce cas, nous utilisons find pour localiser la position du " --foo=" préfixe. Si nous la trouvons, nous extrayons la sous-chaîne à l'aide de substr et la convertissons en entier à l'aide de std::stoi.

Ces techniques fournissent des solutions efficaces et concises pour travailler avec des chaînes en C .

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal