Méthode compacte pour extraire des parties de chaînes (en-tête FASTA)
Question
Étant donné la chaîne suivante:
string Header =">day11:1:356617";
Comment extraire tout, sauf ">", ne cédant que:
day11:1:356617
Je pourrais faire une boucle standard sur le caractère de chaîne et ne conserver que les options ">".
string nStr ="";
for (int i=0; i < Header.size(); i++) {
if (Header[i] != ">") {
nStr = nStr + Header[i];
}
}
Mais l'approche semble trop maladroit et lent, en particulier je dois faire telle extraction pour des millions de lignes.
La solution
if (Header[0] == '>') Header = Header.substr(1);
Autres conseils
... Vous n'avez pas dit quoi que ce soit à propos du "domaine". des chaînes entrantes ou ce que vous cherchez à chomp. Si ce ne sont que des chaînes de la forme que vous avez donnée, ce serait la plus rapide:
Header.substring(1);
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow