Stringa p5v3.5 salvare in due variabili, il numero che si trova dopo la p(5)e quello dopo la v(3.5)

di il
1 risposte

Stringa p5v3.5 salvare in due variabili, il numero che si trova dopo la p(5)e quello dopo la v(3.5)

Buongiorno,
Sono sono nuova del mondo forum ed in particolare di quelli informatici, quindi scusatemi già ora per l'utilizzo di un linguaggio non appropriato.
Non riesco a risolvere un problema legato a Matlab ora cerco di spiegarmi.
Chiedo all'utente di inserire una stringa:
file=input('Inserire nome file:','s');
La stringa inserita è sempre del tipo:
p7v2
p5v3.5
p7v10
Io vorrei salvare in una variabile il valore numerico che si trova dopo la p e in un altra variabile il valore numerico che si trova dopo la v.
Come posso fare?
Grazie anticipatamente per la disponibilità.

1 Risposte

  • Re: Stringa p5v3.5 salvare in due variabili, il numero che si trova dopo la p(5)e quello dopo la v(3.5)

    La cosa più semplice che puoi fare è sostituire, con la funzione "strrep" i caratteri "p" e "v" della stringa in input con due spazi bianchi; quindi, convertire a stringa rimanente in numeri con la funzione "str2num".
    Questo ti restituisce, in un vettore di due elementi, i due numeri.

    Quello che non devi fare è cercare di creare, in modo automatico, due variabili per memorizzare i due numeri, puoi direttamente lavorare con il vettore.
    Se proprio vuoi creare due variabile, ti conviene farlo "esplicitamente" assegnando ad ognuna uno dei valori del vettore.
    
    file=input('Inserire nome file:','s');
    
    vettore_valori=str2num(strrep(strrep(file,'p',' '),'v',' '))
    
    var_1=vettore_valori(1)
    var_2=vettore_valori(2)
    
    A questa semplice soluzione, dovresti aggiungere de controlli sulla stringa di input in modo da verificare che sia stata inserita nel formato atteso.
Devi accedere o registrarti per scrivere nel forum
1 risposte