我在这里做错了什么? (AppleScript 删除字符串的多个部分)

What am I doing wrong here? (AppleScript remove multiple parts of string)

我正在尝试清理字符串,以便删除 "//name@""deletethispart.file" 来自 "//name@main.domain.com/directory01/directory02/deletethispart.file"

set mainString to "//name@main.domain.com/directory01/directory02/deletethispart.file"
set cleanUpTerms to {"//name@", "deletethispart.file"}
repeat with i from 1 to count of cleanUpTerms
    set text item delimiters to item i of cleanUpTerms
    set cleanURL to text items of mainString
    set text item delimiters to ""
    set mainString to cleanURL
end repeat

它不起作用:(

您必须在重复循环结束时连接文本项。

cleanURL 重命名为 textItems 使其更清晰

set mainString to "//name@main.domain.com/directory01/directory02/deletethispart.file"
set cleanUpTerms to {"//name@", "deletethispart.file"}
repeat with i from 1 to count of cleanUpTerms
    set text item delimiters to item i of cleanUpTerms
    set textItems to text items of mainString
    set text item delimiters to ""
    set mainString to textItems as text
end repeat

正如red_menace所说,文本项分隔符可以是一个列表。这意味着您不需要为每个定界符循环:

set mainString to "//name@main.domain.com/directory01/directory02/deletethispart.file"
set cleanUpTerms to {"//name@", "deletethispart.file"}
set text item delimiters to cleanUpTerms

set cleanURL to text items of mainString
set text item delimiters to ""
set mainString to cleanURL as text