Как изменить определенный диапазон значений при наличии нескольких клавиш? - PullRequest
0 голосов
/ 04 октября 2018

У меня есть эта строка:

Avarage Age=12 <-> 25 ; Pension Age=60 <-> 72; Nationality=[UK, USA, German, France]

Конечная цель - применить регулярное выражение для изменения диапазона указанного поля, например: с 'Age=12 <-> 25' до 'Age=10 <-> 30'.

Как я могу это сделать?

Я пытался, и у меня есть два вопроса:

(1) Если я сделал регулярное выражение для поиска (например, :): /d+<->d+/ig, это будетвернуть и возраст и пенсионный возраст.Могу ли я сделать регулярное выражение, которое ищет KEY = range , но просто возвращает диапазон (return означает, что я могу заменить другим диапазоном)?

(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:@"**??????**"];

Как мне изменить целые числа 12 и 25 с withTemplate ?

1 Ответ

0 голосов
/ 04 октября 2018

Вам не нужно ничего особенного.Просто включите 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"];
...