Come estrarre il testo della colonna in base ai valori dei caratteri anziché ai valori numerici?<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />Ciao Comunità JMP,
Ho del testo in una colonna intitolata Descrizione che assomiglia alla seguente:
Descrizione Colonna
Riga 1: Problema software: software di sistema; Nessuna risposta
Riga 2: Problema software: software di sistema; Nessuna risposta
Riga 3: Problema di elettronica: alimentazione; Risposta 1
Riga 4: Problema dell'interfaccia utente e del computer: software di sistema; Risposta 2
Ok, quindi voglio prendere il testo in questa colonna e dividerlo in base alla punteggiatura.Quindi in una nuova colonna voglio il testo mostrato prima dei due punti ":", e in un'altra colonna, voglio il testo tra il punto e virgola e i due punti ":" e ";":
Quindi dovrei ottenere:
Descrizione Colonna Colonna B Colonna C
Riga 1: Problema software: software di sistema; Nessuna risposta Problema software Software di sistema
Ho creato queste nuove colonne e applicato una formula in cui ho provato a utilizzare le funzioni dei caratteri Sinistra/Destra (mi riferisco alla Colonna Descrizione come campo di testo).Tuttavia, tutte le funzioni dei caratteri basano la lunghezza su un valore numerico.Come posso usare una funzione di carattere sinistro/destro per dire
"Destra( Descrizione Colonna , ":")" in modo da ottenere tutto il testo prima di ":"??
Grazie per l'aiuto,
-Sara
Ri: Come estrarre il testo della colonna in base ai valori dei caratteri anziché ai valori numerici?Grazie! Entrambe le versioni hanno fatto esattamente quello che stavo cercando
Ri: Come estrarre il testo della colonna in base ai valori dei caratteri anziché ai valori numerici?Un approccio alternativo qui consiste nell'usare la funzione Word().
Formula per la colonna B:
Word( 1, :Descrizione Colonna, ":;" )
Formula per la colonna C:
Trim( Word( 2, :Descrizione Colonna, ":;" ) )
Ri: Come estrarre il testo della colonna in base ai valori dei caratteri anziché ai valori numerici?Questo farà ciò di cui hai bisogno.Il trucco è usare contiene e substr per ottenere le sottostringhe esatte che desideri.
dt = Nuova tavola ( "Questioni" ,
Aggiungi righe ( 4 ) ,
Nuova colonna ( "Descrizione" ,
Carattere ,
Nominale ,
Imposta i valori (
{ "Problema software: software di sistema; nessuna risposta" ,
"Problema software: software di sistema; nessuna risposta" ,
"Problema di elettronica: alimentazione; risposta 1" ,
"Problema del computer e dell'interfaccia utente: software di sistema; risposta 2" }
)
)
) ;
dt << nuova colonna ( "Colonna B" , Carattere , Nominale ,
formula (
colon_pos = contiene ( : Descrizione , ":" ) ;
sost ( : Descrizione , 1 , colon_pos - 1 ) ;
)
) ;
dt << nuova colonna ( "Colonna C" , Carattere , Nominale ,
formula (
colon_pos = contiene ( : Descrizione , ":" ) ;
semi_pos = contiene ( : Descrizione , "; " ) ;
sost ( : Descrizione , colon_pos + 2 , semi_pos - colon_pos - 2 ) ;
)
) ;