c# - Replace placeholders in order -
मेरे पास ऐसा यूआरएल का एक हिस्सा है:
/ home / {value1} / Something / {anotherValue} अब मैं स्ट्रिंग-एरे से मूल्य के साथ कोष्ठक के बीच सभी को बदलना चाहता हूं।
मैंने इस RegEx पैटर्न की कोशिश की: \ {[A-zA-Z _] \} लेकिन यह काम नहीं करता है। बाद में (सी # में) मैं पहले मैच को सरणी के पहले मान के साथ बदलना चाहता हूं, दूसरा दूसरे के साथ।
अपडेट: अलग / अलग करने के लिए इस्तेमाल नहीं किया जा सकता है {Place} / और / {anotherValue}
स्ट्रिंग सरणी: {"टैग", " 1 "}
परिणाम: / घर / पहलेटैग / और / 1
मुझे आशा थी कि यह इस तरह काम कर सकता है:
स्ट्रिंग इनपुट = @" / घर / पहले {मान 1} / और / {anotherValue} "; स्ट्रिंग पैटर्न = @ "\ {[a-zA-Z _] \}"; स्ट्रिंग [] मूल्य = {"टैग", "1"}; MatchCollection MC = Regex.Match (इनपुट, पैटर्न); के लिए (int i, ...) {mc.Replace (मान [i];} स्ट्रिंग परिणाम = mc.GetResult; संपादित करें: धन्यवाद देवेंद्र डी चव्हाण और आईपीआर 101, <
आप इस कोड टुकड़ा की कोशिश कर सकते हैं, >
// किसी भी संख्या में वर्णों की तरह '{' के साथ शुरू करें और फिर '}' var पैटर्न = @ "{\ w *}"; var regex = नया रेगेक्स (पैटर्न) के साथ समाप्त करें; Var बदलनेअरेरे = नए [] {"abc", "cde", "def"}; var स्रोत स्ट्रिंग = @ "/ होम / {value1} / कुछ / {अन्य वैल्यू}"; var मैचक्ल्यूशन = रीजएक्स। मैट्स (स्रोतस्ट्रिंग); (Int i = 0; i & lt; matchCollection.Count & amp; i & lt; replacementArray.Length; i ++) {sourceString = sourceString.Replace (मिलान कन्वलन [i]। वैल्यू, प्रतिस्थापन ऐरे [i]);}
Comments
Post a Comment