ऐसा नहीं है। replace
वही करता है जो आपने इसे करने के लिए कहा था: هلهل
के साथ उस स्ट्रिंग के पहले तीन अक्षरों को प्रतिस्थापित करता है;
var before = '{00} تكنولوجيا';
var rep = 'هلهل';
var after = before.replace('{00}', rep);
console.log("before", before.split("").map(toCharCode).join(", "));
console.log("rep ", rep.split("").map(toCharCode).join(", "));
console.log("after ", after.split("").map(toCharCode).join(", "));
function toCharCode(c) {
var hex = c.charCodeAt(0).toString(16);
hex = "0000".substr(hex.length - 4) + hex;
return "U-" + hex;
}
आउटपुट::
मैं इसे
चार के बजाय तीन तो मूल बनाने के लिए जा रहा हूँ और प्रतिस्थापन समान अवधि वाले (यह देखना आसान क्या हो रहा है बनाता है)
before U-007b, U-0030, U-0030, U-007d, U-0020, U-062a, U-0643, U-0646, U-0648, U-0644, U-0648, U-062c, U-064a, U-0627
rep U-0647, U-0644, U-0647, U-0644
after U-0647, U-0644, U-0647, U-0644, U-0020, U-062a, U-0643, U-0646, U-0648, U-0644, U-0648, U-062c, U-064a, U-0627
ध्यान दें कि प्रतिस्थापन अनुक्रम (यू-0647, यू-0644, यू-0647, यू-0644) स्ट्रिंग की शुरुआत में है।
जो आप देख रहे हैं वह है स्ट्रिंग प्रदर्शित है। चूंकि आरटीएल अक्षरों के संगत स्पैन दाएं से बाएं प्रदर्शित होते हैं, और अब आपके पास आरटीएल का एक ही अवधि है जो इस तरह से दिखाया गया है: प्रतिस्थापन शुरुआत (दूर दाएं) है और पाठ बाईं ओर जारी है। इससे पहले, आपके पास एलटीआर और आरटीएल का गलत था, जिसे एलटीआर (बाएं से दाएं दिखाया गया) के साथ दिखाया गया था, इसके बाद आरटीएल (दाएं से बाएं दिखाया गया)।