Contare cifre e numeri in una stringa

di il
1 risposte

Contare cifre e numeri in una stringa

Ciao, ho applicato il seguente codice per trovare la sequenza comune più lunga tra due stringhe.
empties = find(cellfun(@isempty,TrajCompact));
TrajCompact(empties) = [];

% LCS 
[D, dist, aLongestString] = LCS(TrajCompact{1,1},TrajCompact{2,1});
Usando questa funzione ho ottenuto il seguente output: 2(13)2132(43)1(43)2324234; io voglio contare gli elementi costituenti la stringa in output ma ho un problema: (13), (43) li considero, nonostante siano composti da due parentesi tonde e due cifre, come un solo elemento. Tutte le funzioni che ho provato, per esempio size, mi danno le dimensioni ma considerano (13) come composto da 4 elementi, quindi aggiunge 4 alla dimensione, mentre io vorrei lo contasse come un elemento.
Qualcuno può darmi una mano? Grazie

1 Risposte

  • Re: Contare cifre e numeri in una stringa

    Probabilmente c'è un metodo più elegante (magari basato su "regex"), ma al momento mi viene in mente solo questo:
    n=length(s)-sum((find(s == ')') - find(s == '(')))
    s=2(13)2132(43)1(43)2324234
    
    n= 16
    
    s=2132132(4548465)1(43545)23242349
    
    n= 18
    
    s=2132132454846514354523242349
    
    n= 28
    
    Hope this helps.
Devi accedere o registrarti per scrivere nel forum
1 risposte