Tôi có một dự án C# tôi dự định chuyển đến Objective-C. Từ những gì tôi hiểu về Obj-C, có vẻ như có nhiều tùy chọn Regex khó hiểu nhưng tôi không thể thấy bất cứ điều gì về cách thay thế bằng gọi lại.Có regex Objective-c thay thế bằng callback/C# MatchEvaluator tương đương không?
Tôi đang tìm thứ gì đó tương đương với đại biểu C# MatchEvaluator hoặc preg_replace_callback của PHP. Ví dụ về những gì tôi muốn làm trong C# là -
// 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 ?'
Làm cách nào tôi có thể thực hiện điều này trong Mục tiêu-C? Trong tình hình thực tế của tôi, Regex có cả hai xác nhận lookahead và lookbehind trong nó mặc dù, vì vậy bất kỳ thay thế liên quan đến việc tìm kiếm các chuỗi trước và sau đó làm một loạt các chuỗi thay thế thẳng sẽ không làm việc không may.