Com*_*ast 7 regex xcode xcode8
我继承了一个Objective C项目,其中包含一些名为"getMerchantSettings"的方法.当然,在Objective C(与Java不同)中,在getter的方法名称中使用"get"这个词并不常见,因为它使它们与自动合成的属性getter等不兼容.
我可以全局搜索我的项目,使用正则表达式模式找到所有这些有问题的方法名称get([A-Z]).在SublimeText中我可以替换所有这些,\L$1它会改变像"getMerchantSettings"这样的所有内容,只是说"merchantSettings";\L替换它时,将"M"字符变为小写"m".
但是在XCode版本的正则表达式中,\ L和\ l都不起作用.什么是在XCode 8中使用的正则表达式替换模式,以使其更改任何替换它的情况?不希望不必为这样的事情使用单独的文本编辑器.谢谢!
不幸的是,XCode 8 无法为您做到这一点。由于您有 perl,您可以打开一个终端,cd到您的存储库并运行以下命令:
find . -name *.[EXTENSION] -exec perl -i.bak -pe 's/get([A-Z])/\L$1/' {} \;
Run Code Online (Sandbox Code Playgroud)
这将生成您的文件的备份.bak并将您的 getter 更改为所需的格式。