虽然我使用PHP脚本,以及,我运行它在Mac上,所以我想我可能会掀起一个可可命令行应用程序做.strings解析无论如何。我做了哪些。
下面的代码是一个命令行实用程序,它使用一个文件名参数(字符串文件)并吐出的字符串文件的内容作为JSON(到stdout)。
#import <Foundation/Foundation.h>
#import "NSDictionary+BVJSONString.h" // from http://stackoverflow.com/a/20262259/129202
#define ERRORCODE (1)
int main(int argc, const char * argv[])
{
@autoreleasepool {
// insert code here...
//NSLog(@"Hello, World!, argc: %d", argc);
if (argc != 2) {
NSLog(@"Specify file argument!");
return ERRORCODE;
}
NSString* filepath = [NSString stringWithCString:argv[1] encoding:NSASCIIStringEncoding];
NSError* error = nil;
NSStringEncoding usedencoding;
NSString* strings = [NSString stringWithContentsOfFile:filepath usedEncoding:&usedencoding error:&error];
if (error) {
NSLog(@"Error: %@", error);
return ERRORCODE;
}
NSDictionary* dict = [strings propertyList];
NSString* json = [dict bv_jsonStringWithPrettyPrint:NO];
[json writeToFile:@"/dev/stdout" atomically:NO encoding:NSUTF8StringEncoding error:nil];
}
return 0;
}
这有点粗糙 - 它最好从标准输入或其他东西读取 - 我不太习惯写这些东西,所以随意改善。请注意,这是使用Apple自己的.strings解析代码,所以应该比大多数正则表达式更好。
我不知道你想要什么作为结局 – NDM 2009-11-06 08:16:35
发送-我最codez – Amarghosh 2009-11-06 08:20:59
是一个.strings文件,正常吗?如果不是,你需要一个完整的解析器,而不仅仅是一个正则表达式。 – 2009-11-06 09:52:22