我有一个这种格式的 NSString:
“键 1-值 1,键 2-值 2,键 3-值 3,...”
我只需要键(每个逗号后有一个空格):
键 1、键 2、键 3 等
我想使用逗号作为分隔符从字符串中创建一个组件数组,然后,对于每个组件,提取自“-”以来的所有字符;然后我会序列化数组元素。但我担心这可能会对表演造成很大影响。
您知道使用正则表达式的方法吗?
我有一个这种格式的 NSString:
“键 1-值 1,键 2-值 2,键 3-值 3,...”
我只需要键(每个逗号后有一个空格):
键 1、键 2、键 3 等
我想使用逗号作为分隔符从字符串中创建一个组件数组,然后,对于每个组件,提取自“-”以来的所有字符;然后我会序列化数组元素。但我担心这可能会对表演造成很大影响。
您知道使用正则表达式的方法吗?
正则表达式将很大程度上取决于您使用的数据。例如,如果允许键或值是全数字,或者允许包含空格和标点符号,则需要修改正则表达式。但是,对于您当前的示例,这将起作用。
NSString *example = @"Key1-Value1,Key2-Value2,Key3-Value3,...";
NSString *result = [example stringByReplacingOccurrencesOfString:@"(\\w+)-(\\w+),?"
withString:@"$1, "
options:NSRegularExpressionSearch
range:NSMakeRange(0, [example length])];
result = [result stringByTrimmingCharactersInSet:[NSCharacterSet characterSetWithCharactersInString:@", "]];
NSLog(@"%@", result);