token = strtok(str) Looking for Examples

14 vues (au cours des 30 derniers jours)
Sabri Çetin
Sabri Çetin le 2 Juil 2016
Modifié(e) : Sabri Çetin le 2 Juil 2016
token = strtok(str) parses input character vector str from left to right, returning part or all of that character vector in token. Using the white-space character as a delimiter, the token output begins at the start of str, skipping any delimiters that might appear at the start, and includes all characters up to either the next delimiter or the end of the character vector. White-space characters include space (ASCII 32), tab (ASCII 9), and carriage return (ASCII 13).
Could you please give an example with that format and explain what is going on? I checked the examples on the original webside but, there is no example in that format.
Any kind of help is appreciated. Thank you in advance.

Réponse acceptée

Image Analyst
Image Analyst le 2 Juil 2016
It's easier to use.
  3 commentaires
Star Strider
Star Strider le 2 Juil 2016
An alternative to strsplit that should work with most MATLAB versions is:
words = regexp(str, ' ', 'split')
with appropriate changes depending on the application. It adds an empty cell to the end, so the correct result is:
words(1:end-1)
Sabri Çetin
Sabri Çetin le 2 Juil 2016
Modifié(e) : Sabri Çetin le 2 Juil 2016
strsplit is a very clear function, especially, useful for beginners, the alternative is not that complicated too.

Connectez-vous pour commenter.

Plus de réponses (1)

dpb
dpb le 2 Juil 2016
My smiple-minded utility tokens that uses strtok --
function tok = tokens(s,d)
% Simple string parser returns tokens in input string s
%
% T=TOKENS(S) returns the tokens in the string S delimited
% by "white space". Any leading white space characters are ignored.
%
% TOKENS(S,D) returns tokens delimited by one of the
% characters in D. Any leading delimiter characters are ignored.
% Get initial token and set up for rest
if nargin==1
[tok,r] = strtok(s);
while ~isempty(r)
[t,r] = strtok(r);
tok = strvcat(tok,t);
end
else
[tok,r] = strtok(s,d);
while ~isempty(r)
[t,r] = strtok(r,d);
tok = strvcat(tok,t);
end
end
  1 commentaire
Sabri Çetin
Sabri Çetin le 2 Juil 2016
This is a great example! Also, it might be very useful depending on the context.

Connectez-vous pour commenter.

Catégories

En savoir plus sur Characters and Strings dans Help Center et File Exchange

Tags

Produits

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by