Oggetto: Ricerca e conteggio di sottostringhe all'interno di un campo di testoSe vuoi usare Loc, devi trovare un altro modo per dividere la stringa in un elenco rispetto a Words (). Con Words() non otterrai la stringa "nessun commento" nell'elenco in quanto verranno suddivise in "no" e "commenti.
Un'opzione sarebbe sostituire tutti i "nessun commento" con stringhe vuote, quindi confrontare la lunghezza della stringa originale e quella nuova e dividere con la lunghezza della stringa di confronto. Qualcosa del genere potrebbe funzionare:
Names Default To Here(1);
str = "Friday, December 9, 2022 10/19/2022 9:37 AM flagged with a comment 10/21/2022 6:15PM : no comment 11/15/2022 1:03 PM 3: no comments 11/16/2022 11:06 AM 4: no comments 11/18/2022 2:49 PM : no comments 11/30/2022 3:52 PM : comments 12/09/2022 9:07 AM : no comment";
str_to_search = "no comment";
new_str = Substitute(str, str_to_search, "");
matches = (Length(str) - Length(new_str)) / Length(str_to_search);
Oggetto: Ricerca e conteggio di sottostringhe all'interno di un campo di testoApproccio interessante.Grazie.
Quando ho eseguito lo script, ha restituito un conteggio di 5. Tre (3) dei casi sono "nessun commento S " e due (2) sono "no comment".
Non sei sicuro se o come la funzione Sostituto consenta il plurale? cioè str_to_search = "nessun commento". Anche la funzione Lunghezza sarebbe stata 1 in più per il plurale "nessun commento".
Sono curioso di sapere se esiste un altro approccio per convalidare questo?
Oggetto: Ricerca e conteggio di sottostringhe all'interno di un campo di testoMi aspettavo che nessun commento e nessun commento sarebbero stati uguali e poiché nessun commento è presente in entrambi, la sostituzione funzionerà (per nessun commento lascerà solo la s lì). Se hai bisogno di sostituzioni più complesse, Regex sarebbe una buona opzione durante l'utilizzo di GLOBALREPLACE.
Oggetto: Ricerca e conteggio di sottostringhe all'interno di un campo di testoFatto.L'ho visto nella sceneggiatura quando passavo il mouse sopra le variabili.Questo funziona.L'unico problema è che fa distinzione tra maiuscole e minuscole.
Potrei eseguirlo come una formula di colonna.Aggiunta di altre 2 colonne per i tipi di caso e somma delle colonne per riga.
(Length( :"comment (white space collapsed)"n ) - Length(
Substitute( :"comment (white space collapsed)"n, "no comment", "" )
)) / Length( "no comment" )
Grazie.Sono tornato in affari.
Saluti
Onjai.
Oggetto: Ricerca e conteggio di sottostringhe all'interno di un campo di testoSubstitute ti permette di usare << IGNORECASE
Names Default To Here(1);
Substitute("Apple,APPLE,apple", "apple", "orange", <<IGNORECASE></IGNORECASE>

https://www.jmp.com/support/help/en/17.0/#page/jmp/list-functions.shtml?os=win&source=application#ww2490257
Ricerca e conteggio delle sottostringhe all'interno di un campo di testoIl componente aggiuntivo JMP ha svolto un ottimo lavoro importando centinaia di documenti MSWord in una tabella.
IO Avere una colonna chiamata "commento (originale)" che desidero contare il numero di frasi "nessun commento".
Quando uso la formula,
N righe(
Loc(
Parole( :"commento (spazio bianco compresso)"n, " " ),
"Commenti"
)
)
restituisce il numero di occorrenze per il termine "commenti".Tuttavia, la funzione Loc non accetterà "nessun commento" come argomento.
N Rows(
Loc(
Words( :"comment (white space collapsed)"n, " " ),
"comments"
)
)
JMP v17.1
È interessante notare che la formula funziona correttamente se la colonna dei commenti è stata ricodificata per comprimere gli spazi bianchi.Non so perché.
Qualsiasi pensiero o assistenza sarebbe apprezzato!
Grazie.
Accesso ai dati