दिलचस्प पोस्ट
डीजेango टेम्प्लेट सिस्टम, एक मॉडल के अंदर फ़ंक्शन बुला रहा है सी ++ में कोई आधार वर्ग क्यों नहीं है? एंड्रॉइड एक्सएमएल डीओएम पार्सिंग में समान नाम टैग कैसे पार्स करना है UIPageViewController आईओएस 6 में कोई जेस्चर रिकॉइलाइजर्स नहीं देता Xamarin आईओएस स्मृति हर जगह लीक ब्लॉब यूआरएल, मीडियासॉर्स या मीडिया ट्रिगमेंट्स के कंसटेनेटेड ब्लॉब खेलने के लिए अन्य तरीकों का इस्तेमाल कैसे करें? बहु-मान चयन बक्से से चयनित मूल्य प्राप्त करें jquery-select2 द्वारा? ArrayList में केस संवेदनशीलता होती है अजगर में एक पायदान के दौरान एक तत्व को कैसे हटाना है? पृष्ठ के अंदर एक डिवेल में कंसोल त्रुटियां और अलर्ट दिखा रहा है यदि कोई सिंक्रनाइज़ (यह) का उपयोग कर सकता है तो एक रीट्रेंट लॉक का उपयोग क्यों करें? कर्ल कमांड लाइन के माध्यम से एक्सएमएल फ़ाइल भेजें / पोस्ट करें ग्रहण त्रुटियां बंद करें (जो वास्तव में त्रुटियां नहीं हैं) WebView में एक प्रगति पट्टी जोड़ें सरणी php के माध्यम से लूप

बदलें विधि काम नहीं करता है

मैं स्मार्ट उद्धरणों को ' , ' , और नियमित कोट्स ' जैसे प्रतिस्थापित करना चाहता हूं। इसके अलावा, मैं © , ® और को बदलना चाहता था मैंने निम्नलिखित कोड का इस्तेमाल किया लेकिन यह मदद नहीं करता है कृपया मुझे इस मुद्दे को हल करने में सहायता करें।

 str.replace(/[“”]/g, '"'); str.replace(/['']/g, "'"); 

Solutions Collecting From Web of "बदलें विधि काम नहीं करता है"

उपयोग:

 str = str.replace(/[“”]/g, '"'); str = str.replace(/['']/g, "'"); 

या एक बयान में ऐसा करने के लिए:

 str = str.replace(/[“”]/g, '"').replace(/['']/g,"'"); 

जावास्क्रिप्ट में (कई अन्य भाषाओं के रूप में) स्ट्रिंग अपरिवर्तनीय हैं – स्ट्रिंग "प्रतिस्थापन" तरीके वास्तव में जगह में स्ट्रिंग को संशोधित करने की बजाय नई स्ट्रिंग लौटाते हैं

replace राज्यों के लिए एमडीएन जावास्क्रिप्ट संदर्भ एंट्री :

प्रतिस्थापन द्वारा प्रतिस्थापित किए गए पैटर्न के कुछ या सभी मिलानों के साथ एक नई स्ट्रिंग देता है

यह विधि उस स्ट्रिंग ऑब्जेक्ट को बदलती नहीं है जिस पर इसे कहा जाता है। यह केवल एक नया स्ट्रिंग देता है

परिणामस्वरूप स्ट्रिंग लौटने की जगह

 str = str.replace(/["']/, ''); 

ओपी यह नहीं बताता कि वह काम क्यों नहीं कर रहा है, लेकिन फाइल के एन्कोडिंग से संबंधित समस्याएं हैं। अगर मेरे पास एएनएसआई एन्कोडेड फाइल है और मैं करता हूं:

 var s = "“This is a test” 'Another test'"; s = s.replace(/[“”]/g, '"').replace(/['']/g,"'"); document.writeln(s); 

मुझे मिला:

 "This is a test" "Another test" 

मैंने यूटीएफ -8 में एन्कोडिंग को परिवर्तित कर दिया, स्मार्ट कोट्स को तय किया (जब मैंने एन्कोडिंग बदल दिया) तो फिर एएनएसआई में परिवर्तित हो गया और समस्या दूर चली गई।

ध्यान दें कि जब मैंने इस पेज के दोहरे और एकल स्मार्ट उद्धरणों को कॉपी और चिपकाया तो मेरे परीक्षण दस्तावेज़ (एएनएसआई एन्कोडेड) में और यह कोड चलाया:

 var s = "“This is a test” 'Another test'"; for (var i = 0; i < s.length; i++) { document.writeln(s.charAt(i) + '=' + s.charCodeAt(i)); } 

मुझे पता चला कि सभी स्मार्ट उद्धरण के रूप में दिखाया ? = 63 ? = 63

इसलिए, ओपी से, यह निर्धारित करें कि स्मार्ट उद्धरण कहाँ से आरंभ हो रहे हैं और यह सुनिश्चित करें कि वे अक्षर कोड हैं, जिनसे आप अपेक्षा करते हैं यदि वे नहीं हैं, तो स्रोत के एन्कोडिंग को बदलने पर विचार करें ताकि वे “ = 8220 , ” = 8221 , ' = 8216 और ' = 8217 रूप में पहुंचें। स्रोत की जांच करने के लिए मेरी लूप का उपयोग करें, अगर मेरे द्वारा सूचीबद्ध किए गए अन्य charCodeAt() के अलावा स्मार्ट कोट्स किसी अन्य charCodeAt() मूल्यों के साथ दिख रहे हैं, तो replace() लिखित रूप से काम नहीं करेगा I

स्मार्ट उद्धरणों के साथ सभी नियमित उद्धरणों को बदलने के लिए, मैं एक समान फ़ंक्शन का उपयोग कर रहा हूं। आपको कुछ अलग कंप्यूटर / ब्राउजर डिफ़ॉल्ट सेटिंग्स के रूप में CharCode को निर्दिष्ट करना चाहिए सादे अक्षरों को अलग-अलग पहचान सकता है ("", ", ',')।

एआरसीआईआई वर्ण के साथ चारकोडा का उपयोग करके, जो विभिन्न ब्राउज़रों में त्रुटि के लिए कमरे को खत्म कर देगा, और ऑपरेटिंग सिस्टम। यह द्विभाषी उपयोग (लहजे, आदि) के लिए भी उपयोगी है।

सिंगल कोट्स के साथ स्मार्ट कोट्स को बदलने के लिए

 function unSmartQuotify(n){ var name = n; var apos = String.fromCharCode(39); while (n.indexOf("'") > -1) name = name.replace("'" , apos); return name; } 

अन्य एएससीआईआई मानों को ढूंढने के लिए आपको आवश्यकता हो सकती है यहां देखें