Comment est-ce que je peux compter le nombre de « _ » dans une chaîne comme « bla_bla_blabla_bla » ?
Réponses
Trop de publicités?Pseudo-code:
count = 0
For each character c in string s
Check if c equals '_'
If yes, increase count
EDIT: C++ exemple de code:
int count_underscores(string s) {
int count = 0;
for (int i = 0; i < s.size(); i++)
if (s[i] == '_') count++;
return count;
}
Notez que ce code est à utiliser conjointement avec des std::string
, si vous utilisez char*
, remplacez - s.size()
avec strlen(s)
.
À noter également: je peux comprendre que vous voulez quelque chose de "plus petit possible", mais je vous suggère d'utiliser cette solution à la place. Comme vous le voyez, vous pouvez utiliser une fonction pour encapsuler le code pour vous afin que vous n'aurez pas à écrire l' for
boucle à chaque fois, mais peut simplement utiliser count_underscores("my_string_")
dans le reste de votre code. À l'aide de C++ avancées des algorithmes est certainement possible ici, mais je pense que c'est exagéré.