Apple Script 将剪贴板列表放在引号中

Apple Script put clipboard list in quotes

有谁知道一个 applescript 可以获取剪贴板上的任何内容并将其用引号引起来。 (理想情况下由快捷键触发,但我可以自己设置)

示例(从 excel col 复制数据)

Beer
Whisky
Chronic

会变成

'Beer','Whisky','Chronic'

我在任何地方都找不到这个,我只能在 Applescript 中做一些基本的事情,但我完全认为它会帮助很多 devs/db 管理员!

假设源是纯文本并且项目由换行符分隔
你可以用 text item delimiters

set theText to "Beer
Whisky
Chronic"

set {TID, text item delimiters} to {text item delimiters, {linefeed, return}}
set theList to text items of theText
set text item delimiters to "','"
set theResult to "'" & (theList as text) & "'"
set text item delimiters to TID
theResult

要直接从剪贴板获取数据,请将第一行替换为

set theText to the clipboard

感谢@vadian 的帮助 - 最终的工作脚本 从剪贴板获取输入,转换然后放回剪贴板

set theText to (do shell script "pbpaste")
set {TID, text item delimiters} to {text item delimiters, {linefeed, return}}
set theList to text items of theText
set text item delimiters to "','"
set theResult to "'" & (theList as text) & "'"
set text item delimiters to TID
set the clipboard to theResult
theResult

我已经使用 automator 将其设置为一项服务,并分配了一个键盘快捷键以进行快速转换。