Friday, 15 June 2012

What is the Regex to Search a XML tag and remove comma from the value in a notepad++ -


एक्सएमएल टैग एक xml दस्तावेज़ में है

XML डॉक:

 < कोड> & lt; रूट & gt; & LT; जनक & gt; । । & LT; एबीसी & gt; 1543 & lt; / एबीसी & gt; । । & Lt; / जनक & gt; & Lt; / रूट & gt;  

आउटपुट:

  & lt; रूट & gt; & LT; जनक & gt; । । & LT; एबीसी & gt; 1543 & lt; / एबीसी & gt; । । & Lt; / जनक & gt; & Lt; / रूट & gt;  

मुझे एक एक्सएमएल संपादक या नोटपैड ++ में चलाया जाने वाला रिजक्स क्या है, जो मुझे आउटपुट देता है या फिर उस विशिष्ट टैग से कॉमा को दूर करता है

xml इस तरह से बहुत बड़ा । 1,543 । । । 1,543 । । । 1,543 । । । 1,543 । । । 1,543 ।

यह करने का सबसे अच्छा तरीका क्या है

मान लें कि आपके पास केवल एक अल्पविराम है , के लिए खोजें:

  (& lt; एबीसी & gt;। *) [,] (। *  

इसके साथ बदलें:

  $ 1 $ 2  

यदि आपके पास कई अल्पविराम हैं, तो आपको इसे कई बार चलाने होंगे यदि टैग नई लाइनों (\ r \ n या सिर्फ \ n) के साथ टूट गए हैं तो आपको उन लोगों को रिगेक्स में शामिल करना होगा।

ध्यान दें कि यदि आपका एक्सएमएल एक पंक्ति पर है, तो यह रीजेक्स

  & lt; एबीसी & gt; 123 & lt; / एबीसी & gt; & amp; lt; अन्यटैगWhereCommasAreOk & gt; और & lt; / अन्यटैगवेरेकैमआरेक & gt; & lt; एबीसी & gt; 456 & lt; / एबीसी & gt; अनपेक्षित परिणाम हो सकता है।  

और अलग टैग में अल्पविराम की जगह।

वास्तव में एक मजबूत समाधान के लिए, आप शायद XSLT का उपयोग करना चाहते हैं रेगेक्सस आपको केवल एक्सएमएल में तुच्छ मामलों के साथ मिल जाएगा। टेम्पलेट में

  & lt; xsl: के लिए प्रत्येक चयन = "/ रूट / अभिभावक / एबीसी" & gt; & Lt; xsl: if test = "इसमें शामिल हैं (।, ',')" & Gt; & Lt; xsl: value-of select = "concat (substring- से पहले (।, ','), Substring-after (।, ',') / & Gt; & lt; / xsl: if & gt; & lt; / xsl: for- प्रत्येक & gt;  

आप टेम्पलेट बनाते हैं और इसे नोटपैड ++ में XML उपकरण का उपयोग करके चलाते हैं


No comments:

Post a Comment