String nesneden parantez arasında içerik alın:Böyle bir dizesi vardır Ruby
Hi my name is John (aka Johnator)
.
Parantezler arasında (parantez dahil) gelenleri almanın en iyi yolu nedir?
String nesneden parantez arasında içerik alın:Böyle bir dizesi vardır Ruby
Hi my name is John (aka Johnator)
.
Parantezler arasında (parantez dahil) gelenleri almanın en iyi yolu nedir?
Normal bir ifade ile String#[] kullanabilirsiniz:
a = "Hi my name is John (aka Johnator)"
a[/\(.*?\)/]
# => "(aka Johnator)"
bu deneyin:
str1 = ""
text = "Hi my name is John (aka Johnator)"
text.sub(/(\(.*?\))/) { str1 = $1 }
puts str1
Düzenleme: parantezi bırakma konusunda okumadım!
Parenthese seçme metin için kullanın [^()]*?
:
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"
o dize # [] olmaz mı? –
@Beerlington Ha! Tabii ki. Sabit. İyi yakalama. – Cade
için ne diyorsun? "Merhaba benim adım John (aka Sürpriz Yarasa/\\ (*) (*)/\\)" '? – dbenhur