当前位置 : 主页 > 编程语言 > ruby >

ruby-on-rails – 多个单词的ruby regex有条件匹配

来源:互联网 收集:自由互联 发布时间:2021-06-23
我想删除所有名称前缀. (例如教授,博士,先生等),任何序列都可以不止一个.所以我想写一个正则表达式,它将切片所有这些前缀.我想在ruby中这样做. 以下是我想要实现的输入/输出设置.
我想删除所有名称前缀. (例如教授,博士,先生等),任何序列都可以不止一个.所以我想写一个正则表达式,它将切片所有这些前缀.我想在ruby中这样做.

以下是我想要实现的输入/输出设置.

"Prof. Dr. John Doe" => "John Doe"
"Dr. Prin. Gloria Smith" => "Gloria Smith"
"Dr. William" => "William"
"Sean Paul" => "Sean Paul"

我还想将删除的前缀存储在另一个字符串中.

"Prof. Dr. John Doe" => "Prof. Dr."
"Dr. Prin. Gloria Smith" => "Dr. Prin."
"Dr. William" => "Dr."
"Sean Paul" => ""
假设前缀只有Prof.,Dr.,Mr.,Mrs.,Prin.,女士,您可以尝试:

s = "Prof. Dr. John Doe"
s.gsub(/Prof.|Dr.|Mr.|Mrs.|Prin.|Ms./, "").strip

第二个问题(想要将删除的前缀存储在另一个字符串中)

s = "Prof. Dr. John Doe"
 s.scan(/Prof.|Dr.|Mr.|Mrs.|Prin.|Ms./).join("")
 => "Prof.Dr."
网友评论