2010-11-19 4 views
0

У меня есть applescript, который получает строку в одной точке и проверяет, содержит ли она другую строку, которую я ввел.Applescript: проверьте, содержит ли строка пустую строку?

Так что давайте скажем, что у меня есть «Im a string», и я хочу найти, содержит ли она «string». У меня это работает, используя «if searchString в mainString then ...»

Но если я передам ему пустую строку, это должно быть равно true, независимо от того, что строка, но по какой-то причине она не работает.

Как я могу проверить, есть ли пустая строка в другой строке?

ответ

2

Различные языки будут обрабатывать это по-другому, и то, что вы видите здесь, это то, как Applescript обрабатывает его [1]. Любая пустая строка точно такая: empty. "" не имеет значения в Applescript (но это не значение null или отсутствует, в нем ничего нет). Если бы вы сравнивали две пустые строки, они бы приравнивали друг к другу, иначе либо строка пуста, либо она не является, а заполненная строка не может содержать пустую строку.

Вам нужно будет проверить, нет ли строки поиска сначала, а затем обработайте ее соответствующим образом.

[1] REALbasic не найдет пустую строку в заполненной строке.

обновление на комментарий:

Да, но я нашел, что это лучше делать расчеты состояния вне из if...then блока с Applescript alwasys:

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

Спасибо! Есть ли способ использовать оператор if в Applescript следующим образом: «если [условие 1] или [условие 2], то ...»? – sbonkosk

1

Как насчет первой проверки, является ли строка для поиска пустой, а затем возвращает «true»?

Смежные вопросы