Ich habe ein C# -Projekt, das ich nach Objective-C portieren möchte. Von dem, was ich über Obj-C verstehe, sieht es so aus, als gäbe es eine verwirrende Vielfalt von Regex-Optionen, aber ich sehe nichts über eine Art, eine Ersetzung mit Callback durchzuführen.Gibt es einen Objective-C Regex ersetzen mit Callback/C# MatchEvaluator entspricht?
Ich bin auf der Suche nach etwas, das dem C# MatchEvaluator-Delegaten oder PHP-Preg_replace_callback entspricht. Ein Beispiel für das, was ich in C# machen möchte, ist -
// 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 ?'
Wie könnte ich das in Objective-C tun? In meiner aktuellen Situation hat der Regex jedoch sowohl Lookahead- als auch Lookbehind-Assertionen, so dass jede Alternative, die das Auffinden der Saiten im Voraus und das anschließende Ausführen einer Reihe von String-Ersetzungen betrifft, leider nicht funktioniert.