Я чувствую, что исчерпал каждое регулярное выражение, о котором я могу думать, и прочитал каждую часть документации NSRegularExpression, на которую я могу получить мои руки, но я все еще не могу понять это вне.NSRegularExpression для удаления цифр в круглых скобках в конце строки
У меня есть некоторые NSStrings, которые заканчиваются цифрой в круглых скобках (что-то вроде «blah blah blah (33)». Я хочу удалить круглые скобки, пробелы и цифры, но только если он совпадает в конце строки и только в том случае, если содержимое круглых скобок является только цифрами (предыдущий пример был бы «blah blah blah»). Мое регулярное выражение ниже близко, но оно будет соответствовать, если в регулярном выражении есть незнаковые символы, и это будет соответствовать, если больше содержания в конце строки, после скобок:
NSArray *testStrings = @[@"hello (2)", @"hello (22)", @"hello (22) a", @"hello (2s)"];
for (NSString *msg in testStrings) {
NSError *error = NULL;
NSRegularExpression* regex = [NSRegularExpression regularExpressionWithPattern: @"[\\s\(\\d+\\)$]"
options: NSRegularExpressionCaseInsensitive
error: &error];
if (!error) {
NSLog(@"%lu", [regex numberOfMatchesInString:msg options:0 range:NSMakeRange(0, [msg length])]);
NSString* plainText = [regex stringByReplacingMatchesInString: msg
options: 0
range: NSMakeRange(0, [msg length])
withTemplate: @""];
NSLog(@"%@", plainText);
}
}
Ниже выход:
test[93719:10248184] 4
test[93719:10248184] hello
test[93719:10248184] 5
test[93719:10248184] hello
test[93719:10248184] 6
test[93719:10248184] helloa
test[93719:10248184] 4
test[93719:10248184] hellos
Любая помощь приветствуется!
Ответ stribizhevs на месте, хотя вы хотите совместить строку типа 'hello (1) world (23)'? –