我有这个字符串:
Avarage Age=12 <-> 25 ; Pension Age=60 <-> 72; Nationality=[UK, USA, German, France]
最终目标是应用正则表达式来更改指定字段的范围,例如:从'Age=12 <-> 25'
更改为'Age=10 <-> 30'
。
我该怎么做?
我已经尝试过,但是我有两个问题:
(1)如果我进行了正则表达式搜索(例如:):/d+<->d+/ig
,它将同时返回Age和Pension Age。我可以制作一个正则表达式来搜索KEY = range 但是但只返回范围(返回意味着我可以替换为另一个范围)?
(2)这样(只是返回我需要的东西:年龄):
NSString *pattern = @"Age=\d+<->\d+";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&
NSString *modifiedString = [regex stringByReplacingMatchesInString:string
options:0
range:NSMakeRange(0, [string length])
withTemplate:@"**??????**"];
如何从 withTemplate 更改整数12和25?
答案 0 :(得分:0)
您不需要任何花哨的东西。只需在用于Age=
的值中包含withTemplate:
。
NSString *pattern = @"Age=\d+<->\d+";
NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:pattern options:NSRegularExpressionCaseInsensitive error:&
NSString *modifiedString = [regex stringByReplacingMatchesInString:string
options:0
range:NSMakeRange(0, [string length])
withTemplate:@"Age=10 <-> 30"];