Selecting part of a string

I have a list of file names in a variable called file_name e.g:
[a.txt b.txt c.txt d.txt]
I would like to create a new variable which only contains:
[a b c d]
Is this possible?
Thanks in advance Matt

3 comentarios

Gerd
Gerd el 14 de Jun. de 2011
Hi Matt,
is your file_name variable just one string like
file_name = ['a.txt' 'b.txt' 'c.txt' 'd.txt']?
Matt
Matt el 14 de Jun. de 2011
I'm not sure what you mean, it is a 4x1 matrix (4 rows, 1 column).
Thanks,
Matt
Paulo Silva
Paulo Silva el 14 de Jun. de 2011
You say 4 rows and 1 column but your example is 4 columns and 1 row

Iniciar sesión para comentar.

 Respuesta aceptada

Paulo Silva
Paulo Silva el 14 de Jun. de 2011

0 votos

surely not the best way to do it but here is my way
v=['a.txt' 'b.txt' 'c.txt' 'd.txt']
cell2mat(arrayfun(@(x)strtok(x,'.txt'),v,'uni',false))
or
v=['a.txt' 'b.txt' 'c.txt' 'd.txt']'
cell2mat(arrayfun(@(x)strtok(x,'.txt'),v,'uni',false))

3 comentarios

Matt
Matt el 14 de Jun. de 2011
Hi,
I'm getting the following error for both of the above methods
"Cannot support cell arrays containing cell arrays or
objects."
Thanks,
Matt
Matt
Matt el 14 de Jun. de 2011
The following kind of works:
arrayfun(@(x)strtok(x,'.txt'),file_list,'uni',false)
but in the new variable there are quotes around the text e.g
'a.txt' is it possible to remove the quotes?
Matt
Matt el 14 de Jun. de 2011
Hi,
this works perfectly:
x = strtok(file_list,'.txt')
thanks,
Matt

Iniciar sesión para comentar.

Más respuestas (0)

Categorías

Más información sobre Loops and Conditional Statements en Centro de ayuda y File Exchange.

Etiquetas

Preguntada:

el 14 de Jun. de 2011

Community Treasure Hunt

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

Start Hunting!

Translated by