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

时间:2016-05-20 08:10:15

标签: applescript clipboard transformation

有没有人知道一个AppleScript会采取剪贴板上的任何内容并将其包装在引号中。 (理想情况下由键快捷键触发,但我可以自己设置)

示例(来自excel col的复制数据)

Beer
Whisky
Chronic

会变成

'Beer','Whisky','Chronic'

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

2 个答案:

答案 0 :(得分:2)

假设源是纯文本,并且项目由换行符分隔 你可以用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

答案 1 :(得分:1)

感谢@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的服务,并为快速转换分配了键盘快捷键。