Trouver un caractère particulier dans une chaîne de caractères dans Matlab
Supposons que j'ai une chaîne '[email protected]'
. Je veux stocker la chaîne de caractères avant et après le "@" dans les 2 chaînes de caractères séparées. Quelle serait la méthode la plus facile de trouver le caractère "@" ou d'autres caractères dans la chaîne?
Vous devez vous connecter pour publier un commentaire.
STRTOK et une opération d'index devrait faire l'affaire:
Ou la dernière ligne pourrait aussi être:
Vous pouvez utiliser strread:
textscan
au lieu destrread
Pour "plus facile",
Il serait un peu plus compliqué si vous avez été la recherche de quelque chose de plus d'un caractère, ou vous n'êtes pas sûr si il n'y avait qu'un @, et dans ce cas, MATLAB a beaucoup de fonctions de recherche à travers le texte, y compris les expressions régulières (voir
doc regexp
).TEXTSCAN travaille trop.
renvoie une matrice de cellules où les parties de{1} est 'nom_utilisateur' et pièces de{2} est 'hotmail.com'.
Si ce fil n'est pas complètement énumérés par maintenant, puis-je en ajouter une autre? Une pratique perl-base de la fonction MATLAB:
pièces est un deux l'élément de matrice de cellules semblables à mtrw de la mise en œuvre de textscan. Peut-être exagéré, mais l'expression régulière est beaucoup plus utile lors de scinder une chaîne par plusieurs caractères de délimitation ou le motif de la recherche. Le seul inconvénient est l'utilisation d'expressions régulières qui je n'ai toujours pas maîtrisé après 15 ans de codage.
J'ai utilisé strtok et strrep de Matlab à la place.
strtok
etstrrep
? Montrer un exemple et je vais retourner à un +1.String email = "[email protected]";