Implémenter sa propre fonction split()
Bonjour à tous,
Il existe en Python 3 une fonction str().split() qui sert à découper une chaîne en fonction de son séparateur.
J'ai réussi à en implémenter une avec un séparateur de type char, mais je bloque pour faire une surcharge avec cette fois un séparateur de type std::string (pour avoir plusieurs caractères).
J'aimerais juste un algorithme détaillé pour savoir comment m'y prendre (je m'occupe de le traduire en c++).
Si ça peut servir, voici le code de ma fonction avec un séparateur char :
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| #include <vector>
#include <string>
std::vector<std::string> couper_chaine(std::string const chaine, char const separateur = ' ') {
std::vector<std::string> tableau;
std::string element = "";
for (auto i = 0lu; i < chaine.size(); i++) {
if (chaine[i] != separateur) {
element += chaine[i];
}
else if (chaine[i] == separateur && element != ""){
tableau.push_back(element);
element = "";
}
if (i == chaine.size() - 1 && element != "") {
tableau.push_back(element);
}
}
return tableau;
} |