Новичок в AppleScript здесь, я узнал следующий метод из других онлайн-источников, который позволяет мне извлечь строку, которая находится между двумя строками, которые я могу определить, см. Код:
to ExText(searchText, startText, endText)
set spaceholder to "x"
set searchText to ("x" & searchText)
set AppleScript's text item delimiters to spaceholder
set endItems to text item -1 of searchText
set AppleScript's text item delimiters to endText
set beginningToEnd to text item 1 of endItems
set AppleScript's text item delimiters to startText
set finalText to (text items 2 thru -1 of beginningToEnd) as text
set AppleScript's text item delimiters to ""
return finalText
end ExText
Яиспользуя этот метод, чтобы извлечь имя и фамилию пользователя из строки html, полученной при запуске поиска идентификатора Javascript.Я сделаю
Set SourceString to "<span>firstname lastname</span>"
ExText(SourceString, "<span>", "</span>")
Это работает 90% времени, но в некоторых случаях, в зависимости от имени пользователя, с этим сообщением выдается ошибка
Невозможно преобразовать текстовые элементы от 2 до -1 из "(часть имени)" в текстовый тип.
Вот несколько примеров имен, которые нарушат этот метод
<span>Xu Chang</span>
<span>Maxim Smith</span>
В дальнейшем тестировании я подтвердил, что любые имена, содержащие букву "X", не будут работать в этом методе.Я исследовал фактические исходные строки рядом с именами, содержащими X, и теми, которые не содержат, так что это не исходная строка, а сам метод.
Стоит отметить, что эта ошибка воспроизводимакаждый раз.
Довольно странное поведение.Есть идеи?