【发布时间】:2017-07-07 09:41:50
【问题描述】:
我有以下字符串:
"ft-2 MY AWESOME ft-12 APP"
"MY AWESOME APP"
"MY AWESOME APP ft-20"
我想对除ft-<NUMBER> 部分以外的单词进行一些修改(在这种情况下为titleization)。 ft-<NUMBER> 字可以出现在任何地方。它可以出现多次,也可能根本不存在。字符串操作后,最终结果应如下所示:
"ft-2 My Awesome ft-12 App"
"My Awesome App"
"My Awesome App ft-20"
是否可以在 Ruby 中编写任何可以进行这种转换的正则表达式?
我试过这样:
"ft-4 MY AWESOME ft-5 APP".gsub(/(?<=ft-\d\s).*/) { |s| s.titleize }
我得到了这个:ft-4 My Awesome Ft 5 App 作为回报。
【问题讨论】:
-
你试过了吗?
-
我尝试使用
gsub,但无法匹配除模式之外的所有字符。 -
请贴出你试过的代码。
-
gsub(/(?<=ft-\d\s).*/)是我天真的尝试。 -
可以,但
gsub需要更换部件。
标签: ruby regex regex-lookarounds