我在这里做错了什么? (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
我正在尝试清理字符串,以便删除 "//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