我正在尝试提取ids = exclude_array.map(&:issue_id)
#=> [50231, 43896]
your_objects.select {|o| ids.exclude?(o.issue_id) }
的字符串。有这么多文件,其中一些字符串被标记为localization
,而其中一些不是。{/ p>
我可以使用NSLocalizedStrings
和NSLocalizedStrings
抓取ibtool
,但我无法在没有genstrings
的情况下提取普通字符串。
我不擅长正则表达式,但我想出了这个NSLocalizedString
并在grep的帮助下:
"[^(]@\""
它工作正常,并且所有字符串实际上都被抓到了一个txt文件中,但问题是,
如果在我的代码中有一行:
grep -i -r -I "[^(]@\"" * > out.txt
我只希望grep抓住 ..... initWithTitle:@"New Sketch".....
部分,但它抓住整条线。
因此,在@"New Sketch"
文件中,我看到out.txt
以及一些不需要的行。
如何编写正则表达式以仅抓取双引号中的字符串?
我使用here中提到的正则表达式尝试了grep命令,但它给了我语法错误。
对于前者,我试过:
initWithTitle:@"New Sketch"
它给了我
grep -i -r -I (["'])(?:(?=(\\?))\2.)*?\1 * > out.txt
答案 0 :(得分:0)
在xcode中,打开您的项目。转到编辑器 - >导出本地化...它将创建文件的文件夹。标记为本地化的所有内容都将在那里提取。无需自己解析。它将采用XML格式。
如果你想努力,你可以按照你现在尝试的方式解析这些文件吗?它也会有Storyboard字符串,顺便说一句。