如何编写正则表达式来查找XCode项目中的所有字符串

时间:2014-10-10 03:54:56

标签: ios regex xcode localization grep

我需要在我的XCode项目中找到所有字符串。我知道我可以使用grep和regex来实现这一点,但我也不熟悉。

我想要找到的模式是一行中以' @"'开头的任何内容。并以'"'结束。我也可能在两者之间至少输入5个左右的字符。

例如,如果我搜索了以下代码:

NSArray *array = @[@"this is the first", @"this is the second"];
for (NSString* thisString in array)
{
    NSLog(@"%@", thisString);
}

只有"这是第一个"和#34;这是第二个"会打。我使用正则表达式是在正确的轨道上,还是有其他技术更适合这个?

谢谢!

2 个答案:

答案 0 :(得分:14)

正则表达式适用于这些类型的搜索。以下是一些快速的“脏”替代品:

  • @".*?" - 会发现包括引号在内的任何事件。
  • @".{5,}?" - 执行相同但最少五个字符。
  • (?<=@").*?(?=") - 如果您要排除引号

这些不会处理字符串中的转义引号,也不会处理分布在多行中的字符串(特别是当后续行省略前导@时)。它也可以匹配注释中的出现(不仅仅是代码)。如果您的引号不匹配(例如在您的代码注释中),它也可能会出现问题。

如果您只是快速搜索字符串,这些正则表达式字符串可能会有所帮助。如果你试图自动更换一些,需要更加小心。

答案 1 :(得分:1)

在使用 Xcode 12.5 编写本文时,您可以通过单击放大镜在搜索栏中的两个 Any 之间简单地输入 " 模式。 ⤵︎

enter image description here