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

di Anonimizzato24684 il
1 risposte
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

  • 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