17

次のような文字列があります。

Hi my name is John (aka Johnator).

括弧の間 (括弧を含む) を取得する最良の方法は何ですか?

4

3 に答える 3

32

正規表現でString#[]を使用できます。

a = "Hi my name is John (aka Johnator)"
a[/\(.*?\)/]
# => "(aka Johnator)"
于 2012-05-14T23:18:18.157 に答える
2

[^()]*?括弧内のテキストの選択に使用します:

a = "Hi (a(b)c) ((d)"
# => "Hi (a(b)c) ((d)"
a.gsub(/\([^()]*?\)/) { |x| p x[1..-2]; "w"}
"b"
"d"
# => "Hi (awc) (w"
于 2012-05-15T11:23:22.523 に答える
1

これを試して:

str1 = ""
text = "Hi my name is John (aka Johnator)"

text.sub(/(\(.*?\))/) { str1 = $1 }

puts str1

編集:括弧を残すことについて読んでいませんでした!

于 2012-05-14T23:48:54.873 に答える