我有一副大约有 5000 张卡片的牌,每张卡片上有一个单词,我想将所有卡片的首字母大写。
我尝试使用正则表达式查找和替换来完成此操作,但我尝试过的所有变体在 Anki 中都不起作用,例如:
卡:hello
输入:(^[a-z])
替换:\U1
但那不管用。即使是这种做法的变种也无济于事。
我该如何使用正则表达式来正确执行此操作?如果不使用正则表达式,还有其他方法可以自动执行此操作吗?
答案1
我不知道安基,但在sed
语法中,没有 bash 转义,你可以使用
Input: (^[a-z])([a-z]*)
Replace: \U\1\E\2
\U
表示大写转换\1
是第一个封装的字符串\E
确实结束\U
大写字母序列。\2
是字符串的其余部分(第二个封装的字符串)
答案2
一种非正则表达式的方法是将数据导出为 .csv,使用 Excel 等电子表格程序进行替换,然后将数据重新导入 Anki。您的行数远低于 Excel 的最大值。要在 Excel 中将小写字母更改为大写字母,请使用 CHAR(CODE(A1)-32)。