Re: Buscar y contar subcadenas dentro de un campo de textoSi desea usar Loc, debe encontrar otra forma de dividir la cadena en una lista que Words(). Con Words() no obtendrá la cadena "sin comentarios" en la lista, ya que se dividirá en "no" y "comentarios".
Una opción sería sustituir todos los "sin comentarios" con cadenas vacías, luego comparar la longitud de la cadena original y la nueva y dividirla por la longitud de la cadena de comparación. Algo como esto podría funcionar:
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);
Re: Buscar y contar subcadenas dentro de un campo de textoEnfoque interesante.Gracias.
Cuando ejecuté el script, devolvió una cuenta de 5. Tres (3) de los casos son "sin comentarios s " y dos (2) son "sin comentarios".
¿No está seguro de si la función Sustituir permitió el plural o cómo? es decir, str_to_search = "sin comentarios". También la función Longitud habría sido 1 más para el plural "sin comentarios".
Tengo curiosidad por saber si hay otro enfoque para validar esto.
Re: Buscar y contar subcadenas dentro de un campo de textoEsperaba que sin comentarios y sin comentarios fueran lo mismo y debido a que no hay comentarios en ambos, el reemplazo funcionará (para no comentarios simplemente dejará la s allí). Si necesita reemplazos más complejos, Regex sería una buena opción mientras usa GLOBALREPLACE.
Re: Buscar y contar subcadenas dentro de un campo de textoEntiendo.Lo vi en el script al pasar el mouse sobre las variables.Esto funciona.El único problema es que distingue entre mayúsculas y minúsculas.
Puedo ejecutar esto como una fórmula de columna.Agregar 2 columnas más para los tipos de casos y sumar las columnas por fila.
(Length( :"comment (white space collapsed)"n ) - Length(
Substitute( :"comment (white space collapsed)"n, "no comment", "" )
)) / Length( "no comment" )
Gracias.Estoy de vuelta en el negocio.
Salud
Onjai.
Re: Buscar y contar subcadenas dentro de un campo de textoEl sustituto le permite usar << 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
Buscar y contar subcadenas dentro de un campo de textoEl complemento JMP hizo un gran trabajo al importar cientos de documentos de MSWord en una tabla.
I tener una columna llamada "comentario (original)" que deseo contar el número de frases "sin comentarios".
Cuando uso la fórmula,
N filas (
ubicación(
Words( :"comentario (espacio en blanco colapsado)"n, " " ),
"comentarios"
)
)
devuelve el número de ocurrencias del término "comentarios".Sin embargo, la función Loc no aceptará "sin comentarios" como argumento.
N Rows(
Loc(
Words( :"comment (white space collapsed)"n, " " ),
"comments"
)
)
JMP v17.1
Curiosamente, la fórmula funciona correctamente si la columna de comentarios se recodificó para colapsar los espacios en blanco.No estoy seguro de por qué.
¡Cualquier idea o ayuda sería apreciada!
Gracias.
Acceso a los datos