Come trovare "intersezione" di due stringhe?

0

Domanda semplice per tutti gli esperti:

Stringa A: "Mi piacciono le ciliegie, le mele, le bacche"
Stringa B: "Mi piacciono le ciliegie, le mele, i frutti di bosco, i biscotti"

Mi piacerebbe trovare il testo nella stringa B ma non String A (quello strano fuori)

Sto cercando di trovare- > ", cookie"

C'è un AppleScript che può risolvere questo per me?

    
posta Manan Shukla 26.03.2018 - 00:06
fonte

3 risposte

1

In assenza di altri esempi o criteri formali per la corrispondenza che deve essere eseguita, ho qui fornito un esempio del modo più semplice per ottenere la differenza tra due stringhe:

    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"

Questo funziona se una stringa è contenuta interamente all'interno (vale a dire una sottostringa) dell'altro, come nel caso delle stringhe fornite. Se string A dovesse essere '"Ma mi piacciono le ciliegie, le mele, le bacche" o "Mi piacciono le ciliegie, le mele, i frutti di bosco.", Il metodo sopra non funzionerà.

Inoltre non funzionerà se string B contiene la parola "null" dove string A non lo fa.

    
risposta data 26.03.2018 - 00:38
fonte
0

Ecco un'altra opzione ...

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
    
risposta data 26.03.2018 - 08:34
fonte
0

Ecco un altro modo, mentre utilizzi il comando Apple do shell script e 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

Quando viene eseguito in Script Editor , con (Eventi) (risposte) selezionato nel [registro eventi] , viene visualizzato:

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: il esempio codice AppleScript è proprio questo e non impiega alcuna gestione degli errori e intende solo mostrare uno dei molti modi per svolgere un compito. L'onere è sempre sull'utente di aggiungere / utilizzare la gestione degli errori appropriata come necessario / voluto.

    
risposta data 27.03.2018 - 01:34
fonte

Leggi altre domande sui tag