AppleScript Google 用引号搜索
AppleScript Google search with quotes
我想使用 Automator Google 搜索所选文本,但所选文本应在引号内!
我不知道如何让脚本在所选文本(输入)上加上引号,例如 "selected text"。
on run {input, parameters}
open location "https://www.google.com/search?q=" & input
end run
编辑
这是解决方案:
on run {input, parameters}
open location "https://www.google.com/search?q=" & quote & input & quote
end run
假设您希望双引号成为搜索查询的一部分(即您正在 Google 处进行文字字符串搜索),您需要在搜索字符串周围添加文字双引号。好吧,除了在 URL 中不允许使用文字双引号,所以它们应该被 URL 编码为 %22
,像这样:
open location "https://www.google.com/search?q=%22" & input & "%22"
请注意,您可能还需要对 input
字符串进行 URL 编码,尽管它似乎可以自动处理诸如空格之类的基本内容。如果您需要更好的处理方式,请参阅 "I need to URL-encode a string in AppleScript"(问题 aaplmath 链接)。
如果您希望 Google 为您提供包含您要查找的确切短语的结果,则搜索查询必须在引号内,为此,Automator 服务必须如下所示:
on run {input, parameters}
open location "https://www.google.com/search?q=" & quote & input & quote
end run
我强烈建议使用 AppleScriptObjC 的技能——这里是在 Foundation 框架的帮助下——可靠地转义搜索字符串 (macOS 10.10+)
use framework "Foundation"
use scripting additions
on run {input, parameters}
set nsInput to current application's NSString's stringWithString:("https://www.google.com/search?q=" & input)
set characterSet to current application's NSCharacterSet's URLQueryAllowedCharacterSet()
set escapedInput to (nsInput's stringByAddingPercentEncodingWithAllowedCharacters:characterSet) as text
open location escapedInput
end run
它处理引号以及空格或其他特殊字符
我想使用 Automator Google 搜索所选文本,但所选文本应在引号内!
我不知道如何让脚本在所选文本(输入)上加上引号,例如 "selected text"。
on run {input, parameters}
open location "https://www.google.com/search?q=" & input
end run
编辑
这是解决方案:
on run {input, parameters}
open location "https://www.google.com/search?q=" & quote & input & quote
end run
假设您希望双引号成为搜索查询的一部分(即您正在 Google 处进行文字字符串搜索),您需要在搜索字符串周围添加文字双引号。好吧,除了在 URL 中不允许使用文字双引号,所以它们应该被 URL 编码为 %22
,像这样:
open location "https://www.google.com/search?q=%22" & input & "%22"
请注意,您可能还需要对 input
字符串进行 URL 编码,尽管它似乎可以自动处理诸如空格之类的基本内容。如果您需要更好的处理方式,请参阅 "I need to URL-encode a string in AppleScript"(问题 aaplmath 链接)。
如果您希望 Google 为您提供包含您要查找的确切短语的结果,则搜索查询必须在引号内,为此,Automator 服务必须如下所示:
on run {input, parameters}
open location "https://www.google.com/search?q=" & quote & input & quote
end run
我强烈建议使用 AppleScriptObjC 的技能——这里是在 Foundation 框架的帮助下——可靠地转义搜索字符串 (macOS 10.10+)
use framework "Foundation"
use scripting additions
on run {input, parameters}
set nsInput to current application's NSString's stringWithString:("https://www.google.com/search?q=" & input)
set characterSet to current application's NSCharacterSet's URLQueryAllowedCharacterSet()
set escapedInput to (nsInput's stringByAddingPercentEncodingWithAllowedCharacters:characterSet) as text
open location escapedInput
end run
它处理引号以及空格或其他特殊字符