从ruby上的匹配中获取一个String

时间:2013-03-12 04:55:53

标签: ruby regex

我有这个字符串:

"A man, a plan, a canal -- Panama"

正则表达式:

/[^[^\w*]]/

所需的结果是:

"AmanaplanacanalPanama"

问题:我无法得到一串结果。这是我的代码:

def palindromo(s)  #s is a string

  num_expr = /[^[^\w*]]/
  m = s.match(num_expr)
  unless m
    puts "no hubo concordancia"
    exit
  end
  print "El string de la busqueda es: " 
  puts m.string   # string donde se efectúa la búsqueda 
  print "La parte del string que concuerda con la busqueda es: " 

  puts m

代码给了我这个结果:"A",我希望得到这个字符串: "AmanaplanacanalPanama"

2 个答案:

答案 0 :(得分:2)

"A man, a plan, a canal -- Panama".gsub( /[^\w]/, "" ) == "AmanaplanacanalPanama"
# => true

答案 1 :(得分:1)

puts "El string de la busqueda es: #{s}"
puts s[/\W/] ? "La parte del string que concuerda con la busqueda es: #{s.gsub( /[^\w]/, "" ) }" : "no hubo concordancia"