Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 14

Discussione: Manipolare stringa

  1. #1
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407

    Manipolare stringa

    Ciao, avrei bisogno di un consiglio.

    Devo manipolare questa stringa:
    codice:
    DATA_TRATTAMENTO_OLIO_5497
    Per ottenere:

    codice:
    DATA_TRATTAMENTO_OLIO
    5497
    Se splitto per "_" avrò:

    codice:
    DATA
    TRATTAMENTO
    OLIO
    5497
    Cosa posso fare?
    Avevo pensato di contare da destra gli ultimi quattro caratteri ma il numero non è sempre composto da quattro cifre...

    Gracias-

  2. #2

  3. #3
    ...

  4. #4
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    usa INSTRREV
    Ok, ho capito... questo codice va bene:

    codice:
    <%
    
    varstringa = "DATA_TRATTAMENTO_OLIO_5497"
    
    If InStrRev(varstringa, "_") > 0 Then
          strvarstringa = Split(varstringa, "_")
       Response.Write strvarstringa(0)  & "
    "
    End If
        
    %>
    Però non conosco il valore preciso dell'array di 5497 che può essere 1 o 2 o 3...

  5. #5
    Originariamente inviato da ubbicom
    Ok, ho capito... questo codice va bene:

    codice:
    <%
    
    varstringa = "DATA_TRATTAMENTO_OLIO_5497"
    
    If InStrRev(varstringa, "_") > 0 Then
          strvarstringa = Split(varstringa, "_")
       Response.Write strvarstringa(0)  & "
    "
    End If
        
    %>
    Però non conosco il valore preciso dell'array che può essere 1 o 2...
    Ciao se non ricordo male InStrRev ti trova la posizione del simbolo "_" a partire dalla fine della stringa ma ti ritorna la posizione a partire dall'inizio della stringa quindi dovresti selezionare la stringa dall'inizio fino alla posizione trovata meno uno ed unire la stringa così ottenuta al resto della stringa finale così dovresti riuscire ad eliminare "_". Devi usare la funzione Mid la trovi su w3cschool

  6. #6
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da eziolink88
    Ciao se non ricordo male InStrRev ti trova la posizione del simbolo "_" a partire dalla fine della stringa ma ti ritorna la posizione a partire dall'inizio della stringa quindi dovresti selezionare la stringa dall'inizio fino alla posizione trovata meno uno ed unire la stringa così ottenuta al resto della stringa finale così dovresti riuscire ad eliminare "_". Devi usare la funzione Mid la trovi su w3cschool

  7. #7
    ubbi, con INSTRREV trovi la posizione dell'ultimo "_". poi con MID estrai il pezzo che ti serve. lascia perdere la SPLIT

  8. #8
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    ubbi, con INSTRREV trovi la posizione dell'ultimo "_". poi con MID estrai il pezzo che ti serve. lascia perdere la SPLIT
    Scusa non ho capito come usare la MID in questo caso perchè la stringa non ha una lunghezza fissa: ESEMPIO_590

    codice:
    <%
    
    varstringa = "DATA_TRATTAMENTO_OLIO_5497"
    
    If InStrRev(varstringa, "_") > 0 Then
          strvarstringa = mid(varstringa,1,3)
             Response.Write strvarstringa  & "
    "
    End If
       
    %>

  9. #9
    puoi non usare il terzo parametro (lunghezza), il che vuol dire "prendi tutto quello che c'è dal carattere n fino alla fine". ricordati che il secondo parametro (a partire dal carattere n) non deve essere 1, ma il risultato della INSTRREV

  10. #10
    Utente di HTML.it L'avatar di ubbicom
    Registrato dal
    Mar 2004
    Messaggi
    1,407
    Originariamente inviato da optime
    puoi non usare il terzo parametro (lunghezza), il che vuol dire "prendi tutto quello che c'è dal carattere n fino alla fine". ricordati che il secondo parametro (a partire dal carattere n) non deve essere 1, ma il risultato della INSTRREV
    E' corretto: ?

    codice:
    <%
    
    varstringa = "DATA_TRATTAMENTO_OLIO_5497"
    
    n = InStrRev(varstringa, "_") +1
    response.write n & "
    "
    
    If InStrRev(varstringa, "_") > 0 Then
          strvarstringa = mid(varstringa,n)
             Response.Write strvarstringa  & "
    "
    End If
       
    %>
    Ottengo:

    23
    5497

    Ma x avere anche: DATA_TRATTAMENTO_OLIO ?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.