J'ai un projet C# que j'ai l'intention de porter vers Objective-C. D'après ce que je comprends d'Obj-C, il semble qu'il existe une variété confuse d'options Regex mais je ne vois rien à propos d'une façon de faire un remplacement par un rappel.Existe-t-il une regex Objective-c remplacée par l'équivalent callback/C# MatchEvaluator?
Je cherche quelque chose qui est l'équivalent du délégué C# MatchEvaluator ou du preg_replace_callback de PHP. Un exemple de ce que je veux faire en C# est -
// 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 ?'
Comment pourrais-je faire en Objective-C? Dans ma situation actuelle, le Regex a à la fois des assertions de lookahead et de lookbehind, donc toute alternative impliquant de trouver les cordes à l'avance et ensuite de faire une série de remplacements de cordes droites ne fonctionnera malheureusement pas.