token = strtok(str) Looking for Examples

15 visualizaciones (últimos 30 días)
Sabri Çetin
Sabri Çetin el 2 de Jul. de 2016
Editada: Sabri Çetin el 2 de Jul. de 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.

Respuesta aceptada

Image Analyst
Image Analyst el 2 de Jul. de 2016
It's easier to use.
  3 comentarios
Star Strider
Star Strider el 2 de Jul. de 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 el 2 de Jul. de 2016
Editada: Sabri Çetin el 2 de Jul. de 2016
strsplit is a very clear function, especially, useful for beginners, the alternative is not that complicated too.

Iniciar sesión para comentar.

Más respuestas (1)

dpb
dpb el 2 de Jul. de 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 comentario
Sabri Çetin
Sabri Çetin el 2 de Jul. de 2016
This is a great example! Also, it might be very useful depending on the context.

Iniciar sesión para comentar.

Categorías

Más información sobre Characters and Strings en Help Center y File Exchange.

Etiquetas

Productos

Community Treasure Hunt

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

Start Hunting!

Translated by