我有一个字符串,可以是
create
或
create by
取决于动词等。在Ruby(on Rails)中获取过去时
string.sub(/e?$/, "ed")
或
string.sub(/ by?$/, "ed by")
有效,但有没有办法将两者结合起来?使用某种类型的条件语句或类似的。
答案 0 :(得分:5)
使用单词边界(\b
):
'create by'.sub(/e\b/, 'ed')
# => "created by"
'create'.sub(/e\b/, 'ed')
# => "created"
答案 1 :(得分:3)
为什么不呢?
2.1.0-preview2 :046 > 'create'.sub('create', 'created')
=> "created"
2.1.0-preview2 :047 > 'create by'.sub('create', 'created')
=> "created by"
没有正则表达式......)