0

我有一个大的目标 c 文件,里面充满了硬编码的对象,上面有一个描述字符串字段。它们都是这样构造的:

Item *43 = [[Item alloc] initWithFieldId:@"43" description:@"This is test 43 of 100"];

我想知道是否有办法让我在这个 .m 文件中提取所有这些字符串并将它们写入文本文件。是否有某种反射库可以让我遍历这个文件并获取从描述开始的所有字符串:@ 以第二个引号结尾?

4

2 回答 2

0

由于文件有特定的模式,您可以使用正则表达式来提取您需要的内容。

有各种内部支持正则表达式的编辑器,但您始终可以通过 Unix 命令行工具使用正则表达式。

这是一个开始的地方

于 2013-06-25T17:58:13.813 回答
0

不是 100% 确定这是否是您要查找的内容,但您可以使用 find 命令和 Bob 推荐的一些正则表达式从终端轻松完成:(编辑为仅回显描述,而不是整个文件)

find . -type f -name \*.m -exec sed -n 's/Item .*description:@"\(.*\)"].*/\1/p' {} \;

这将返回

This is test 43 of 100

对于所有的比赛。

对于搜索找到的整行,请使用:

find . -type f -name \*.m -exec grep Item\.*description:@ {} \;
于 2013-06-25T18:06:20.810 回答