我想使用+stringWithFormat:…
中的格式字符串来解析字符串。使用相同的格式字符串打印和解析字符串会非常方便。只需要一个本地化。
示例:
NSString *format = @"His name is \"%@\"";
NSString *string = [NSString stringWithFormat:format, @"Bob"];
NSArray *array = [string parseWithFormat:format];
array
应该返回@[@"Bob"]
。是否有这样一个开源项目试图实现这一目标?我认为应该可以将这种格式字符串转换为正则表达式。
答案 0 :(得分:1)
stringWithFormat
“只是”sprintf
的前端;因为它是普通的C,scanf
,如果需要,它的变体也可用。
答案 1 :(得分:0)
您描述parseWithFormat
函数的方式,由于结构模糊,它无法工作。
格式替换的%@
标记在结果字符串string
中消失,因此生成的提取可能不明确。
示例:
NSString *format = @"He likes %@ and %@.";
NSString *string = [NSString
stringWithFormat:format, @"apples and oranges", @"bananas"];
// --> @"He likes apples and oranges and bananas."
NSArray *array = [string parseWithFormat:format];
// Array could be:
// @[@"apples and oranges", @"bananas"] or
// @[@"apples" @"oranges and bananas"]