加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

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

发布时间:2020-12-17 01:43:18 所属栏目:百科 来源:网络整理
导读:我想删除所有名称前缀. (例如教授,博士,先生等),任何序列都可以不止一个.所以我想写一个正则表达式,它将切片所有这些前缀.我想在ruby中这样做. 以下是我想要实现的输入/输出设置. "Prof. Dr. John Doe" = "John Doe""Dr. Prin. Gloria Smith" = "Gloria Smit
我想删除所有名称前缀. (例如教授,博士,先生等),任何序列都可以不止一个.所以我想写一个正则表达式,它将切片所有这些前缀.我想在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."

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读