我需要在我的XCode项目中找到所有字符串。我知道我可以使用grep和regex来实现这一点,但我也不熟悉。
我想要找到的模式是一行中以' @"'开头的任何内容。并以'"'结束。我也可能在两者之间至少输入5个左右的字符。
例如,如果我搜索了以下代码:
NSArray *array = @[@"this is the first", @"this is the second"];
for (NSString* thisString in array)
{
NSLog(@"%@", thisString);
}
只有"这是第一个"和#34;这是第二个"会打。我使用正则表达式是在正确的轨道上,还是有其他技术更适合这个?
谢谢!
答案 0 :(得分:14)
正则表达式适用于这些类型的搜索。以下是一些快速的“脏”替代品:
@".*?"
- 会发现包括引号在内的任何事件。@".{5,}?"
- 执行相同但最少五个字符。(?<=@").*?(?=")
- 如果您要排除引号这些不会处理字符串中的转义引号,也不会处理分布在多行中的字符串(特别是当后续行省略前导@
时)。它也可以匹配注释中的出现(不仅仅是代码)。如果您的引号不匹配(例如在您的代码注释中),它也可能会出现问题。
如果您只是快速搜索字符串,这些正则表达式字符串可能会有所帮助。如果你试图自动更换一些,需要更加小心。
答案 1 :(得分:1)