2013-02-02 7 views
10

हैलो मैं खाली स्ट्रिंग मैं इस लिंक How to match Cyrillic characters with a regular expression लेकिन इसके लिए मुझेकैसे रेगुलर एक्सप्रेशन मिलान केवल सिरिलिक bulgarian पत्र बनाने के लिए

यहाँ काम नहीं करता है देखा है के साथ bylgarian वर्णमाला से सभी पत्र बदलना चाहते हैं मैंने कोशिश की है कि मैंने

1. var newstr = strInput.replace(/[\p{IsCyrillic}]/gi, ''); 

काम नहीं करता है!

2. var newstr = strInput.replace(/[\p{Letter}]/gi, ''); 

कुछ भी सहायता के लिए धन्यवाद;

उत्तर

13

जावास्क्रिप्ट प्रपत्र \p{IsCyrillic} के यूनिकोड वर्गों का समर्थन नहीं करता।

लेकिन, वे वर्ण जो आप बदलना चाहते हैं यह सोचते हैं यूनिकोड Cyrillic रेंज 0400 में कर रहे हैं - 04FF, आप इस्तेमाल कर सकते हैं:

newstr = strInput.replace(/[\u0400-\u04FF]/gi, ''); 

उदाहरण के लिए:

var strInput = 'уфхцчшщъhelloЁЂЃЄрстыьэю', 
     newstr = strInput.replace(/[\u0400-\u04FF]/gi, ''); 

    console.log(newstr); // 'hello' 
+1

धन्यवाद यह काम करता है! क्या आप अनुशासन जानते हैं जो सभी विशेष पात्र # @ + - +> आदि प्राप्त करेंगे। –

2

मुझे लगता है कि जावास्क्रिप्ट RegEx इस वाक्यविन्यास का समर्थन नहीं करता है।

क्या इससे मदद मिलेगी?

XRegExp

1

एक और तरीका है:

Pattern.compile("[А-я]+", Pattern.UNICODE_CHARACTER_CLASS).matcher(strInput).replaceAll("") ; 

जहां [А-я]+ आपका वर्णमाला है।

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