2010-11-27 14 views
57

के बीच पाठ यह संभवजावास्क्रिप्ट/regex: निकालें कोष्ठकों

Hello, this is Mike 

Regex के साथ जावास्क्रिप्ट का उपयोग करने के लिए

Hello, this is Mike (example) 

बदलने के लिए होगा?

+0

हाँ, यह संभव है। हालांकि, एक स्ट्रिंग प्रतिस्थापन कब काम करेगा जब Regex का उपयोग करें? – Oded

उत्तर

125
"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, ""); 

परिणाम:

"Hello, this is Mike" 
+9

ध्यान दें कि .replace() स्ट्रिंग को स्वयं नहीं बदलता है, यह केवल एक नई स्ट्रिंग देता है। तो आपको अभी भी वैरिएबल को आपके द्वारा बदला गया आकार के बराबर सेट करना होगा। – Ayub

+1

जहां ब्रांड्स एक स्ट्रिंग के बीच में हैं, उपरोक्त रेगेक्स उनके चारों ओर सभी सफेद जगह हटा देगा। यह शायद अच्छा नहीं है। –

22
var str = "Hello, this is Mike (example)"; 

alert(str.replace(/\s*\(.*?\)\s*/g, '')); 

कि पहले भी और कोष्ठक के बाद अतिरिक्त खाली स्थान के बदलने वाले हैं।

1

मुझे यह संस्करण सभी मामलों के लिए सबसे उपयुक्त पाया गया। यह सभी सफेद जगहों को हटा नहीं है।

उदाहरण के लिए "एक (परीक्षण) ख" -> "एक ख"

"Hello, this is Mike (example)".replace(/ *\([^)]*\) */g, " ").trim(); "Hello, this is (example) Mike ".replace(/ *\([^)]*\) */g, " ").trim();

+0

सावधान रहें 'ट्रिम' सार्वभौमिक रूप से समर्थित नहीं है: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/trim, कम से कम यह 2015 में नहीं था ... 2017 में यह बहुत बेहतर दिखता है। –

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