我需要删除文本字符串AppleScript中的最后一个字符。它证明了比我想象的更难的问题。 有谁可以解释如何做到这一点?
答案 0 :(得分:4)
试试这个
set t to "this is a string"
text 1 thru -2 of t
输出:
"这是一个strin"
答案 1 :(得分:4)
悲悯。它应该是一项微不足道的任务(在大多数语言中它只是调用内置的"修剪"功能),但AppleScript绝对有可怜的库支持,社区没有做任何事情来堵塞这些差距本身,所以你必须推出自己的ad-hoc处理程序,甚至像这样的基本日常用品。例如:
on trimLastChar(theText)
if length of theText = 0 then
error "Can't trim empty text." number -1728
else if length of theText = 1 then
return ""
else
return text 1 thru -2 of theText
end if
end trimLastChar
您可能会考虑投资AppleScript book(注意:我共同编写了Apress版本),它往往比AppleScript自己的文档更好地涵盖了常见文本和列表处理任务。
另一种选择是通过AppleScript-ObjC桥接来调用Cocoa,让您可以免费访问大量的即用型功能。这需要更多的工作,但对于更高级的文本处理任务,它通常是最简单,最安全,最有效的解决方案。如果你这样做,我建议你获得一份Shane Stanley Everyday AppleScript-ObjC的副本。
答案 2 :(得分:1)
tell application "Safari"
open location "https://www.youtube.com/watch?v=IxnD5AViu6k#t=152.07430805"
delay 1
end tell
delay 1
tell application "Safari"
set theURL to URL of front document as text
end tell
if theURL contains "#" then
repeat until theURL does not contain "#"
set theURL to text 1 thru -2 of theURL
end repeat
end if
答案 3 :(得分:0)
我发现这很有趣http://applehelpwriter.com/2016/09/06/applescript-remove-characters-from-a-string/
基本上,您可以导入Foundation
来帮助您
use scripting additions
use framework "Foundation"
property NSString : a reference to current application's NSString
以下是删除最后一个路径组件的方法
on myRemoveLastPath(myPath)
set myString to NSString's stringWithString:myPath
set removedLastPathString to myString's stringByDeletingLastPathComponent
removedLastPathString as text
end myRemoveLastPath