जावास्क्रिप्ट स्ट्रिंग्स में अडिग हैं। इसलिए, जब आप एक स्ट्रिंग को संशोधित करते हैं, तो संशोधन के साथ एक नई स्ट्रिंग ऑब्जेक्ट बनाई जाएगी।
आपके मामले में, replace
ने वर्णों को प्रतिस्थापित कर दिया है लेकिन एक नई स्ट्रिंग लौटा दी है। इसे उपयोग करने के लिए आपको इसे एक चर में स्टोर करने की आवश्यकता है।
उदाहरण के लिए
,
var temp = '2015–09–01T16:00:00.000Z';
temp = temp.replace(/–/g,'--');
नोट स्ट्रिंग जो आप प्रश्न में पता चला है, जब की नकल की, मुझे एहसास हुआ कि यह एक different character है, लेकिन –
के समान दिखता है और यह नहीं है हाइफ़न के समान (-
)। उन पात्रों के लिए वर्ण कोड निम्नानुसार हैं
console.log('–'.charCodeAt(0));
// 8211: en dash
console.log('-'.charCodeAt(0));
// 45: hyphen
जावास्क्रिप्ट में लेकिन लगभग सभी प्रमुख भाषाओं स्ट्रिंग चर अपरिवर्तनीय हैं इतना ही नहीं है। –