Tengo un cell array de cadenas. Necesito extraer decir 1-a-n caracteres para cada elemento. Las cadenas son siempre más de n caracteres. Por favor, consulte:

data = { 'msft05/01/2010' ;
         'ap01/01/2013' }

% For each string, last 10 characters are removed and put it in the next column

answer = { 'msft' '05/01/2010' ;
           'ap'   '01/01/2013' }

Hay un vectorizados solución posible? He intentado usar cellfun pero no tuvo éxito. Gracias.

InformationsquelleAutor Maddy | 2013-03-14

1 Comentario

  1. 3
    data = { 'msft05/01/2010' ;
             'ap01/01/2013' };
    for i = 1:length(data)
        s = data{i};
        data{i} = {s(1:end-10) s(end-9:end)};
    end

    Lo siento, no aviso que usted necesita vectorizados… tal vez me puede sugerir sólo un trazador de líneas…

    data = cellfun(@(s) {s(1:end-10) s(end-9:end)}, data, 'UniformOutput', false);
    • Gracias. Los usuarios pueden hacer vertcat(datos{:}) para obtener el final de la ans.

Dejar respuesta

Please enter your comment!
Please enter your name here