में स्ट्रिंग वस्तु से कोष्ठक के बीच सामग्री प्राप्त करें मैं इस तरह एक स्ट्रिंग है:रूबी
Hi my name is John (aka Johnator)
।
कोष्ठक (कोष्ठक समेत) के बीच क्या होता है, यह जानने का सबसे अच्छा तरीका क्या है?
में स्ट्रिंग वस्तु से कोष्ठक के बीच सामग्री प्राप्त करें मैं इस तरह एक स्ट्रिंग है:रूबी
Hi my name is John (aka Johnator)
।
कोष्ठक (कोष्ठक समेत) के बीच क्या होता है, यह जानने का सबसे अच्छा तरीका क्या है?
आप एक नियमित अभिव्यक्ति के साथ String#[] उपयोग कर सकते हैं:
a = "Hi my name is John (aka Johnator)"
a[/\(.*?\)/]
# => "(aka Johnator)"
इस प्रयास करें:
str1 = ""
text = "Hi my name is John (aka Johnator)"
text.sub(/(\(.*?\))/) { str1 = $1 }
puts str1
संपादित करें: कोष्ठक छोड़ने के बारे में पढ़ने के लिए नहीं कहा था!
Parenthese में चुनिंदा पाठ के लिए उपयोग [^()]*?
:
irb(main):019:0> a = "Hi (a(b)c) ((d)"
=> "Hi (a(b)c) ((d)"
irb(main):021:0> a.gsub(/\([^()]*?\)/) { |x| p x[1..-2]; "w"}
"b"
"d"
=> "Hi (awc) (w"
कि होना नहीं चाहेंगे स्ट्रिंग # []? –
@ बेरलिंगटन हा! बेशक। फिक्स्ड। अच्छी पकड़। – Cade
आपको हाय के लिए क्या मिलता है "मेरा नाम जॉन है (उर्फ आश्चर्य बल्ले/\\ (*) (*)/\\)" '? – dbenhur