2010-11-19 35 views
0

Ich habe ein Applescript, das an einem Punkt eine Zeichenfolge erhält und überprüft, ob es eine andere Zeichenfolge enthält, die ich eingegeben habe.Applescript: überprüfen, ob eine Zeichenfolge eine leere Zeichenfolge enthält?

Also sagt, ich habe "Ich bin eine Zeichenfolge" und ich möchte suchen, wenn es "Zeichenfolge" enthält. Ich habe dies funktioniert mit "wenn searchString ist in MainString dann ...."

Aber wenn ich es eine leere Zeichenfolge übergeben sollte dies gleich wahr sein, egal was die Zeichenfolge ist, aber aus irgendeinem Grund ist es nicht funktioniert.

Wie kann ich überprüfen, ob eine leere Zeichenfolge in einer anderen Zeichenfolge ist?

Antwort

2

Verschiedene Sprachen werden das anders behandeln, und was Sie hier sehen, ist, wie Applescript es behandelt [1]. Eine leere Zeichenfolge ist genau das: leer. "" hat keinen Wert in Applescript (aber es ist weder null noch ein Wert fehlt; es ist nur nichts drin). Wenn Sie zwei leere Zeichenfolgen vergleichen würden, würden sie einander entsprechen, andernfalls ist entweder eine Zeichenfolge leer oder nicht und die aufgefüllte Zeichenfolge kann keine leere Zeichenfolge enthalten.

Sie müssen überprüfen, ob der Suchbegriff leer ist zuerst und dann entsprechend behandeln.

[1] REALbasic wird auch keine leere Zeichenfolge in einer aufgefüllten Zeichenfolge finden.

Update pro Kommentar:

Ja, aber ich habe alwasys fand es besser, die Berechnungen der Erkrankung zu tun außerhalb des if...then Blockes mit Applescript:

set condition1 to true -- "true" being a calculation of some kind 
set condition2 to true 

if (condition1) and (condition2) then 
    -- do something 
end if 
+0

Dank! Gibt es eine Möglichkeit, die if-Anweisung in Applescript folgendermaßen zu verwenden: "if [Bedingung 1] oder [Bedingung 2] dann ..."? – sbonkosk

1

Wie wäre es mit der ersten Überprüfung, ob der zu suchende String leer ist und dann 'true' zurückgibt?

Verwandte Themen