के साथ बदलें, मैं स्ट्रिंग के रूप में नियमित अभिव्यक्ति का उपयोग करना चाहता हूं। Format। मैं समझातानाम समूह को रेगेक्स में
मेरे पास है:
string pattern = "^(?<PREFIX>abc_)(?<ID>[0-9])+(?<POSTFIX>_def)$";
string input = "abc_123_def";
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
string replacement = "456";
Console.WriteLine(regex.Replace(input, string.Format("${{PREFIX}}{0}${{POSTFIX}}", replacement)));
यह काम करता है, लेकिन मैं regex.Replace को "इनपुट" प्रदान करनी चाहिए। मैं नहीं चाहता कि। मैं मिलान के लिए पैटर्न का उपयोग करना चाहता हूं लेकिन स्ट्रिंग प्रारूप के साथ स्ट्रिंग बनाने के लिए भी, नाम के साथ नामित समूह "आईडी" को बदलना चाहता हूं। क्या यह संभव है?
string pattern = "^(?<PREFIX>abc_)(?<ID>[0-9])+(?<POSTFIX>_def)$";
string result = ReplaceWithFormat(pattern, "ID", 999);
परिणाम "abc_999_def" में शामिल होंगे:
मैं की तरह कुछ के लिए देख रहा हूँ। इसे कैसे पूरा करें?
यह वही नहीं है जो आप खोज रहे हैं, लेकिन यह मूल्य हो सकता है। यह मूल रूप से नामित स्ट्रिंग है।अनुक्रमित के बजाय प्रारूप। http://haacked.com/archive/2009/01/04/fun-with-named-formats-string-parsing-and-edge-cases.aspx – chilltemp