2012-08-29 14 views

Respuesta

17

Hay una función incorporada llamada textscan que es capaz de esto:

>> C = textscan('I like stack overflow', '%s', 'delimiter', 'o');  
>> C = C{1} 

C = 
    'I like stack ' 
    'verfl' 
    'w' 
+0

¡Gracias, esto funcionó para mí! – robguinness

+0

diciendo simplemente que 'strtok {}' parecía más agradable. – AruniRC

+0

@AruniRC: ¿Puedes dar un ejemplo de lo que quieres decir? –

2

Hay una función similar a la que mencionó en file exchange en un paquete llamado xml_toolbox.

Se llama strsplit.

strsplit ('me gusta desbordamiento de pila', 'o')

ans =

'me gusta pila' 'verfl' 'w'

6

Aquí hay más de una forma de dividir una cadena. Uno como Rody Oldenhuis acaba de mencionar, y aquí están algunos otros:

1> Uso de la función regexp:

>> str = 'Good good study Day day up'; 
>> regexp(str,'\s','split') 
ans = 
    'Good' 'good' 'study' 'Day' 'day' 'up' 
>> 

2> Uso de la función strread:

>> str = 'Section 4, Page 7, Line 26'; 
>> strread(str, '%s', 'delimiter', ',') 
ans = 
    'Section 4' 
    'Page 7' 
    'Line 26' 
>> 
+0

Mi versión de matlab me dice que strread está en desuso. – robguinness

+0

@robguinness Funciona bien en el mío. De todos modos, la función 'regexp' es mejor. – Eastsun

Cuestiones relacionadas