2011-09-14 15 views
5

मैं जावास्क्रिप्ट का उपयोग कर एक स्ट्रिंग से पाउंड साइन (£) को हटाने की कोशिश कर रहा हूं। मैं इसेआप जावास्क्रिप्ट में पाउंड (मुद्रा) साइन को कैसे बदलते हैं?

str = str.replace(/\£/g, ""); 

का उपयोग करके ऐसा करने का प्रयास कर रहा हूं, हालांकि, यह संकेत को हटा नहीं रहा है।

स्ट्र के मूल्य को एक अवधि से लाया जा रहा है (और सही मूल्य प्राप्त किया जा रहा है)। इस अवधि में पहले, के साथ यह

£ 

पाउंड चिह्न दूर करने के लिए सबसे अच्छा तरीका है पर कोई भी विचार के रूप में स्ट्रिंग में एन्कोड किया जा रहा जावास्क्रिप्ट का उपयोग कर स्थापित किया गया है?

+9

'प्रतिस्थापित करें ('£', '') ' – Zirak

+3

@ ज़ीरक ... यह काम नहीं करता है http://jsfiddle.net/EUV7c/ –

उत्तर

9

आप इस के लिए यूनिकोड उपयोग करने की आवश्यकता हो सकती है। उदाहरण के लिए, '£10.00'.replace(/\u00A3/g, '');

+0

यह एक मेरे लिए काफी अच्छी तरह से सॉर्ट करना प्रतीत होता था। कुछ अन्य उत्तरों का प्रयास किया, लेकिन इसने इस मुद्दे को हल किया। मेरे हिस्से पर संभावित रूप से थोड़ा खराब कोड प्रभाव पर दस्तक दे रहा है, इसलिए अन्य समाधान अन्य लोगों के लिए भी काम कर सकते हैं। – Lee

+0

मुझे लगता है कि दूसरों में से कुछ ने काम नहीं किया है, जिसके कारण पेज को लोड किया गया था (हालांकि मैंने इसे सत्यापित नहीं किया है)। एक तरफ या दूसरा, कुछ संदर्भ होने लगते हैं जिसमें शाब्दिक '£' चरित्र अपेक्षा के अनुरूप मेल नहीं खाता था। – jmar777

1

तुम बस कर

"hello w£orld".replace(/£/g,"") 
+0

आपका जी कहां है? – naveen

+1

यह आवश्यक नहीं है जब केवल एक £ प्रतीक हो। आह ... लेकिन लेखक के पास यह था ... मैं इसे संपादित कर दूंगा –

3

अपने regexp से बैकस्लैश निकाल सकते हैं।

+2

बैकस्लैश को कुछ भी नुकसान नहीं पहुंचाया जाना चाहिए। – user113716

+0

+1 @patrick dw: नहीं पता था। माफ़ कीजिये। – naveen

3

इस तरह यह मेरे लिए काम करता है:

var str = "£sdfsdf"; 

str = str.replace("£", ""); 

alert(str); 

यहाँ फिडल: http://jsfiddle.net/peUrn/1/

1

आसान तरीका है:

str.replace('£', ''); 
+0

यह HTML में काम नहीं करेगा क्योंकि 'स्क्रिप्ट' क्षेत्र "संरक्षित" है। (यह लिखने से ज्यादा स्वीकार्य है 'अगर (& & बी) {...}' सीडीएटीए के बाहर एक्सएमएल की तरह :-) –

+0

@pst क्यों? वह कहता है कि इसका एन्कोडेड – nidhin

+0

अच्छा बिंदु ... बिल्कुल यकीन नहीं है कि अब क्या हो रहा है। –

0

, एक, दो, या तीन भागने दृश्यों चरित्र

जिसका मतलब है की UTF-8 एन्कोडिंग का प्रतिनिधित्व करने से कुछ वर्णों की प्रत्येक आवृत्ति को बदल कर एक यूनिफ़ॉर्म रिसोर्स पहचानकर्ता (URI) घटक को एन्कोड क्रम में पाउंड साइन एन्कोड करने के लिए, जावास्क्रिप्ट 2 अक्षरों का उपयोग करता है।

£ = %C2%A3 

अधिक जानकारी के लिए http://fyneworks.blogspot.com/2008/06/british-pound-sign-encoding-revisited.html देखें।

आपकी स्क्रिप्ट में पाउंड साइन के स्थान पर% C2% A3 का उपयोग करना सबसे अच्छा होगा।

+0

यह एक यूआरएल/यूआरआई में एन्कोडिंग के लिए है, स्ट्रिंग या रेगेक्स शाब्दिक (जैसे जावास्क्रिप्ट कोड) में एन्कोडिंग के बारे में नहीं। –

+0

मुझे पता है, यह सिर्फ संदर्भ में मदद कर सकता है। –

संबंधित मुद्दे