2010-11-19 33 views
0

Bir noktada bir dize alır ve girdiğim başka bir dize içerip içermediğini denetleyen bir el kitabım var.Applescript: bir dizenin boş dizgi içerip içermediğini kontrol edin.

Diyelim ki "String'im var" diyorum ve "string" içerip içermediğini aramak istiyorum. "SearchString, mainString öğesinde ise ...." ifadesini kullanarak çalışıyorum.

Ancak boş bir dize iletirsem, bu dize ne olursa olsun doğruya eşit olmalıdır, ancak bir nedenden dolayı çalışmıyor.

Boş bir dizenin başka bir dizede olup olmadığını nasıl kontrol edebilirim?

cevap

2

Farklı diller bunu farklı şekilde ele alacak ve burada gördüğünüz şey, bunun, Applescript'in nasıl işlediğidir [1]. Herhangi bir boş dize tam olarak şu: boş. "", Applescript'te hiçbir değere sahip değildir (ancak, null veya bir değer eksik değildir; sadece hiçbir şey yoktur). İki boş dizgiyi karşılaştırıyor olsaydınız, bunlar birbirine eşit olurlardı, aksi takdirde ya bir dizge boş ya da değil ve doldurulan dize boş bir dize içeremez.

Arama dizgisinin ilk boş olup olmadığını kontrol etmeli ve ardından buna göre işlem yapmalısınız.

[1] REALbasic, doldurulan bir dizgede boş bir dize bulamaz. Yorumlarınız başına

güncelleme:

Evet ama alwasys daha iyi durumda hesapları AppleScript ile if...then bloğunun dışında yapmak bulduk:

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

Teşekkür! Elkitabındaki if deyimini şu şekilde kullanmanın bir yolu var: "[condition 1] veya [condition 2] o zaman ..."? – sbonkosk

1

İlk önce, dizeden aranacak dizginin boş olup olmadığını kontrol edip 'true' durumuna ne dönelim?

İlgili konular