从纯文本中检索URL方案变量

时间:2016-05-22 20:37:32

标签: applescript

我需要一种从纯文本字符串中检索URL方案变量的方法。我是从以下AppleScript开始的:

set inputStr to "{query}"
set my text item delimiters to ": "
set taskName to first text item of inputStr
set listName to last text item of inputStr
set urlScheme to "app://url/add?color=" & color & "&height=" & height
tell application "System Events"
    open location urlScheme
end tell

我想添加大约十二个可能的变量(例如,宽度,面积,月等等),但这个使用"第一个文本项"的解决方案。或"最后一个文本项目"几乎没有工作,因为用户无法记住输入文本字符串的正确顺序。相反,我想要的是一种解析文本识别变量的方法,无论它们出现的顺序如何。例如,一个用户可以输入:

color: green height: 10 area: 14 month: July

另一个:

height: 10 year: 2016 month: August

并填写URL方案的相关部分,其余部分留空。

1 个答案:

答案 0 :(得分:0)

任何期望用户正确键入文本字符串的程序都会遇到麻烦,需要进行大量的错误检查,但...... 给自己一个战斗机会,并要求输入采用更加可解析的格式,例如:

"color:green, height:10, area:14, month:July"

然后,将AS分隔符设置为逗号,以"key:value"格式获取数组条目。在循环中,您可以处理每个数组条目,以便根据需要将键和值附加到URL。

通过剥离用户可能添加的键和值周围的前导和尾随空格来进行一些额外的健全性检查。