简体   繁体   English

从红宝石比赛中得到一个字符串

[英]get a String from a match on ruby

I have this string: 我有这个字符串:

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

A regular expression: 正则表达式:

/[^[^\w*]]/

The required result is: 所需的结果是:

"AmanaplanacanalPanama"

The problem: I cant get a string of that result. 问题:我无法得到该结果的字符串。 This is my code: 这是我的代码:

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

The code gives me this result: "A" , and i want get this string: "AmanaplanacanalPanama" 代码给了我这个结果: "A" ,我想得到这个字符串: "AmanaplanacanalPanama"

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

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM