¿Cómo encontrar la “intersección” de dos cadenas?

0

Pregunta simple para todos los expertos:

Cadena A: "Me gustan las cerezas, las manzanas y las bayas"
Cadena B: "Me gustan las cerezas, las manzanas, las bayas, las galletas"

Me gustaría encontrar el texto en la cadena B pero no en la Cadena A (la impar)

Estoy tratando de encontrar- > ", cookies"

¿Hay un AppleScript que pueda resolver esto por mí?

    
pregunta Manan Shukla 26.03.2018 - 00:06

3 respuestas

0

A falta de otros ejemplos o criterios formales sobre cómo se debe realizar la comparación, acabo de dar un ejemplo de la manera 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á contenida completamente dentro de (es decir, es una subcadena de) la otra, como fue el caso con sus cadenas dadas. Si string A fuera "" Pero me gustan las cerezas, las manzanas y las bayas "o" Me gustan las cerezas, las manzanas y las bayas ", el método anterior no funcionará.

Tampoco funcionará si string B contiene la palabra "null", donde string A no.

    
respondido por el CJK 26.03.2018 - 00:38
0

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
    
respondido por el wch1zpink 26.03.2018 - 08:34
0

Esta es otra manera, mientras usa AppleScript's do shell script command , 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 Editor de secuencias de comandos , con (Eventos) (Respuestas) seleccionado en [Registro de eventos] , produce:

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 AppleScript código es solo eso y no emplea ningún manejo de errores y está pensado solo para mostrar una de las muchas formas de realizar una tarea. La responsabilidad recae siempre sobre el Usuario para agregar / usar el manejo de errores según sea necesario / deseado.

    
respondido por el user3439894 27.03.2018 - 01:34

Lea otras preguntas en las etiquetas