使用Apple Script更改字符串中单个单词的大小写

雅各布·安德森

所以我有苹果脚本:

-- Uses the satimage osax
-- Get it at http://www.satimage.fr/software/en/downloads/downloads_companion_osaxen.html

tell application "Music"
    try
        set the_tracks to the selection
        repeat with a_track in the_tracks
            set the_old_name to name of a_track as string
            set the_new_name to titlecase the_old_name
            set the name of a_track to the_new_name
            log the_old_name
            log the_new_name
        end repeat
    on error
        set the_tracks to the selection
        repeat with a_track in the_tracks
            set the_old_name to name of a_track as string
            set the_new_name to titlecase the_old_name
            set the name of a_track to the_new_name
            log the_old_name
            log the_new_name
        end repeat
    end try
end tell

而且我希望能够更改字符串/标题中单个元素的大小写。专门将罗马数字更改为所有大写字母,在本示例中为“ Iv”。并将其更改为“ IV”:

来自:G小调协奏曲格罗索8号,作品 6,《圣诞节协奏曲》:四。维瓦

至:G小调协奏曲格罗索第八号,作品。6,《圣诞节协奏曲》:四。维瓦

任何帮助将不胜感激。谢谢!

瓦迪安

此处理程序将所有罗马字符从I替换为IX,后跟一个句点,并使用等价的大写字母代替。它使用了Foundation框架中强大的API

use AppleScript version "2.5"
use framework "Foundation"
use scripting additions

on uppercaseRomanCharacters(theText)
    set cocoaString to current application's NSString's stringWithString:theText
    set romanRange to cocoaString's rangeOfString:"(I{1,3}|IX|IV|VI{0,3})\\." options:1025
    if romanRange's location < cocoaString's |length|() then
        set substring to cocoaString's substringWithRange:romanRange
        return (cocoaString's stringByReplacingCharactersInRange:romanRange withString:(substring's uppercaseString())) as text
    end if
    return theText
end uppercaseRomanCharacters

set theString to "Concerto Grosso No. 8 in G Minor, Op. 6, \"Christmas Concerto\": iv. Vivace"
set newName to uppercaseRomanCharacters(theString)

您可以在循环中使用它

repeat with a_track in the_tracks
    set the_old_name to name of a_track -- as string is redundant
    set the_new_name to my uppercaseRomanCharacters(the_old_name)
    set the name of a_track to the_new_name
    log the_old_name
    log the_new_name
end repeat

处理程序必须位于脚本顶层的某个位置。

注意:1025是选项的整数值 NSCaseInsensitiveSearch | NSRegularExpressionSearch

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

使用正则表达式更改字符串中的字母大小写

来自分类Dev

使用SQL函数更改字符串中字母的大小写

来自分类Dev

使用正则表达式更改字符串中的字母大小写

来自分类Dev

使用 C++ 计算字符串中区分大小写的单词

来自分类Dev

使用正则表达式查找未知字符串并更改Java中的大小写

来自分类Dev

使用unitils ReflectionComparator忽略字符串中的大小写

来自分类Dev

使用区分大小写的字符串键对Java中的对象进行排序

来自分类Dev

使用lodash从角度8的列表中删除重复的字符串(忽略大小写)

来自分类Dev

如何使用简单的子字符串函数为javascript中的句子加上大小写?

来自分类Dev

使用大小写敏感的搜索,使用smartcase来搜索小写字符串

来自分类Dev

不使用正则表达式的JavaScript中不区分大小写的字符串全部替换

来自分类Dev

使用不区分大小写的比较计算数组列表中字符串的出现次数

来自分类Dev

检查字符串包含使用Linq且不区分大小写的列表中的所有元素

来自分类Dev

使用CloudKit的NSPredicate不区分大小写的字符串搜索

来自分类Dev

在字典中使用不区分大小写的字符串?

来自分类Dev

使用WP_User_Query时如何忽略搜索字符串大小写?

来自分类Dev

在Firebird中使用计算的上层索引比较不区分大小写的字符串

来自分类Dev

JavaScript replace使用变量而不是字符串的所有不区分大小写的搜索

来自分类Dev

我们如何使用字符串切换大小写

来自分类Dev

在字典中使用不区分大小写的字符串?

来自分类Dev

使用TSQL存储过程将大写句子的字符串转换为句子大小写

来自分类Dev

使用大小写转换快捷方式时如何不影响字符串

来自分类Dev

使用字符串数组切换大小写

来自分类Dev

匹配字符串python中的大小写单词

来自分类Dev

在大写/混合大小写变体中使用多个本地化字符串而不是单个字符串来执行,并在PHP中使用strtoupper()?

来自分类Dev

如何使用TStringHelper测试两个字符串的原始大小写不敏感相等性?

来自分类Dev

如何使用DBMS_RANDOM oracle返回大小写混合的字母数字字符串?

来自分类Dev

如何使用空格实现Solr不区分大小写和不区分重音的子字符串搜索?

来自分类Dev

为什么在进行不区分大小写的字符串比较时避免使用string.ToLower()?

Related 相关文章

  1. 1

    使用正则表达式更改字符串中的字母大小写

  2. 2

    使用SQL函数更改字符串中字母的大小写

  3. 3

    使用正则表达式更改字符串中的字母大小写

  4. 4

    使用 C++ 计算字符串中区分大小写的单词

  5. 5

    使用正则表达式查找未知字符串并更改Java中的大小写

  6. 6

    使用unitils ReflectionComparator忽略字符串中的大小写

  7. 7

    使用区分大小写的字符串键对Java中的对象进行排序

  8. 8

    使用lodash从角度8的列表中删除重复的字符串(忽略大小写)

  9. 9

    如何使用简单的子字符串函数为javascript中的句子加上大小写?

  10. 10

    使用大小写敏感的搜索,使用smartcase来搜索小写字符串

  11. 11

    不使用正则表达式的JavaScript中不区分大小写的字符串全部替换

  12. 12

    使用不区分大小写的比较计算数组列表中字符串的出现次数

  13. 13

    检查字符串包含使用Linq且不区分大小写的列表中的所有元素

  14. 14

    使用CloudKit的NSPredicate不区分大小写的字符串搜索

  15. 15

    在字典中使用不区分大小写的字符串?

  16. 16

    使用WP_User_Query时如何忽略搜索字符串大小写?

  17. 17

    在Firebird中使用计算的上层索引比较不区分大小写的字符串

  18. 18

    JavaScript replace使用变量而不是字符串的所有不区分大小写的搜索

  19. 19

    我们如何使用字符串切换大小写

  20. 20

    在字典中使用不区分大小写的字符串?

  21. 21

    使用TSQL存储过程将大写句子的字符串转换为句子大小写

  22. 22

    使用大小写转换快捷方式时如何不影响字符串

  23. 23

    使用字符串数组切换大小写

  24. 24

    匹配字符串python中的大小写单词

  25. 25

    在大写/混合大小写变体中使用多个本地化字符串而不是单个字符串来执行,并在PHP中使用strtoupper()?

  26. 26

    如何使用TStringHelper测试两个字符串的原始大小写不敏感相等性?

  27. 27

    如何使用DBMS_RANDOM oracle返回大小写混合的字母数字字符串?

  28. 28

    如何使用空格实现Solr不区分大小写和不区分重音的子字符串搜索?

  29. 29

    为什么在进行不区分大小写的字符串比较时避免使用string.ToLower()?

热门标签

归档