Mam projekt C# Mam zamiar przenieść do Objective-C. Z tego, co rozumiem w przypadku Obj-C, wygląda na to, że istnieje wiele różnych opcji Regex, ale nie widzę nic o sposobie zastąpienia wywołaniem zwrotnym.Czy istnieje Objective-c regex replace z odpowiednikiem callback/C# MatchEvaluator?
Szukam czegoś, co jest odpowiednikiem delegata C# MatchEvaluator lub preg_replace_callback w PHP. Przykładem tego, co chcę zrobić w języku C# jest -
// change input so each word is followed a number showing how many letters it has
string inputString = "Hello, how are you today ?";
Regex theRegex = new Regex(@"\w+");
string outputString = theRegex.Replace(inputString, delegate (Match thisMatch){
return thisMatch.Value + thisMatch.Value.Length;
});
// outputString is now 'Hello5, how3 are3 you3 today5 ?'
Jak mogę to zrobić w Objective-C? W mojej faktycznej sytuacji Regex ma w sobie zarówno twierdzenia z wyprzedzeniem, jak i lookbehind, więc każda alternatywa polegająca na wyszukiwaniu ciągów z wyprzedzeniem, a następnie robieniu serii prostych zastępów smyczków, nie będzie działać niestety.