0 votos

Cómo encontrar la "intersección" de dos cadenas?

Pregunta sencilla para todos los expertos:

Cadena: "me gustan las cerezas, las manzanas, las bayas"
Cadena B: "me gustan las cerezas, las manzanas, las bayas, las cookies"

Me gustaría encontrar el texto en la cadena de B pero no la Cadena(lo extraño)

Estoy tratando de encontrar -> "cookies"

Hay un AppleScript que puede resolver esto para mí?

1voto

qarma Puntos 71

En ausencia de cualquiera de los otros ejemplos o criterios formales para la forma coincidente debe llevarse a cabo, sólo he dado un ejemplo aquí de la forma más sencilla de obtener la diferencia entre dos cadenas:

    set A to "I like cherries, apples, berries"
    set B to "I like cherries, apples, berries, cookies"


    set the text item delimiters to {null, A}

    return text items of B as text --> ", cookies"

Esto funciona si una cadena está completamente contenida dentro (es decir, es una subcadena de la otra, como fue el caso de su dada de cadenas. Si string A fueron a"Pero me gustan las cerezas, las manzanas, las bayas" o "me gustan las cerezas, las manzanas, las bayas.", el método anterior no funciona.

También no funcionará si string B contiene la palabra "null" donde string A no.

0voto

wch1zpink Puntos 11

Aquí hay otra opción...

set stringA to "I like cherries, apples, berries"
set stringB to "I like cherries, apples, berries, cookies"
set stringACharacters to count of text items of stringA

set oddManOut to text -1 thru (stringACharacters + 1) of stringB

0voto

user3439894 Puntos 5883

Aquí hay otra manera, mientras que el uso de AppleScript de la do shell script comando, y awk:

set strA to "I like cherries, apples, berries"
set strB to "I like cherries, apples, berries, cookies"

do shell script "awk -F" & quoted form of strA & " '{print $2}'<<<" & quoted form of strB

Cuando se ejecuta en el Editor de secuencias de Comandos, con (Eventos) (Respuestas) seleccionado en el [Registro de Eventos], salidas:

tell current application
    do shell script "awk -F'I like cherries, apples, berries' '{print $2}'<<<'I like cherries, apples, berries, cookies'"
        --> ", cookies"
end tell

Result:
", cookies"

Nota: El ejemplo de AppleScript código es sólo eso y no emplea ningún error en el manejo y está destinado sólo para mostrar una de las muchas maneras para realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar y/o el uso apropiado de manejo de errores como necesitaba/quería.

AppleAyuda.com

AppleAyuda es una comunidad de usuarios de los productos de Apple en la que puedes resolver tus problemas y dudas.
Puedes consultar las preguntas de otros usuarios, hacer tus propias preguntas o resolver las de los demás.

Powered by:

X