25 lines
1.1 KiB
AppleScript
25 lines
1.1 KiB
AppleScript
use AppleScript version "2.4" -- OS X 10.10 (Yosemite) or later
|
|
use framework "Foundation"
|
|
|
|
-- Get the run of non-white-space at the end, if any.
|
|
set aString to current application's class "NSString"'s stringWithString:("I am a string")
|
|
set matchRange to aString's rangeOfString:("\\S++$") ¬
|
|
options:(current application's NSRegularExpressionSearch) range:({0, aString's |length|()})
|
|
if (matchRange's |length|() > 0) then
|
|
set output to aString's substringWithRange:(matchRange)
|
|
else
|
|
set output to "No match"
|
|
end if
|
|
|
|
-- Replace the first instance of "orig…" with "modified".
|
|
set anotherString to current application's class "NSString"'s stringWithString:("I am the original string")
|
|
set matchRange2 to anotherString's rangeOfString:("orig[a-z]*+") ¬
|
|
options:(current application's NSRegularExpressionSearch) range:({0, anotherString's |length|()})
|
|
if (matchRange2's |length|() > 0) then
|
|
set moreOutput to anotherString's stringByReplacingCharactersInRange:(matchRange2) withString:("modified")
|
|
else
|
|
set moreOutput to anotherString
|
|
end if
|
|
|
|
return (output as text) & linefeed & moreOutput
|