我正在尝试对从扫描结果的元素分配的字符串中的字符进行正则表达式。我正在尝试使用 match,它抱怨该变量是一个数组。我对为什么“ trash
”被视为一个数组感到困惑。
test = 'class="date">B=oddTu Q='
array = test.scan(/([A-Z])=/)
puts array
trash = array.last
trash.to_s
puts trash
if /Q/.match(trash)
puts $1
end
这就是我看到的结果
C:\Ruby>scratch.rb
class="date">B=oddTu Q=
B
Q
Q
C:/Ruby/scratch.rb:14:in match: can't convert Array to String (TypeError)
from C:/Ruby/scratch.rb:14:in `<main>'
编辑:扫描返回一个数组数组,所以通过做垃圾 = array.last,垃圾然后被降低一级到 1 个数组。做垃圾=垃圾[0]然后把它变成一个字符串。