【问题标题】:Find hardcoded strings but not those for file names (Xcode, Regex help)查找硬编码的字符串,但不查找文件名的字符串(Xcode、Regex 帮助)
【发布时间】:2013-10-15 18:33:51
【问题描述】:

我正在搜索我的应用程序中的所有硬编码字符串,以便对它们进行本地化。目前我正在使用正则表达式搜索 @"[^"]+" ,如this answer中所建议的那样: Searching hard coded text in xcode

问题是我只想找到这种格式的一些字符串。例如,我想排除 [UIImage imageNamed:@"string"] 和 NSLog(@"Log string")。我相信最简单的方法是找到@"[^"]+" 格式的字符串,只要前面的字符不包括 NSLog( 或 imageNamed: 或我将手动输入的其他几项内容。

如何编写排除这些情况的正则表达式?

【问题讨论】:

  • 它使用什么风格的正则表达式?

标签: ios objective-c regex xcode string


【解决方案1】:

您可以使用否定的lookbehind排除这些情况:

(?<!(imageNamed:|NSLog\())@"[^"]+"

【讨论】:

  • 谢谢!像魅力一样工作。
【解决方案2】:

我觉得这样会更全面

"[a-zA-Z0-9 ?!.,;/\-=+)(*&%#@]+"

搜索 > 查找 > 正则表达式 -- 类型

【讨论】:

    【解决方案3】:

    对于 Swift 项目

    在 Xcode > 搜索 > 查找 > 正则表达式 -- 输入 "[a-zA-Z0-9]+"

    【讨论】:

      猜你喜欢
      • 2021-04-10
      • 1970-01-01
      • 1970-01-01
      • 2013-05-20
      • 1970-01-01
      • 2022-11-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多