【发布时间】:2019-05-07 02:26:58
【问题描述】:
我希望根据用例更改用户名的结尾(在语言系统中,名称的结尾取决于它的使用方式)。
因此需要定义名称的所有结尾并定义它们的替换。 建议使用 .gsub 正则表达式在字符串中搜索和替换:
Changing text based on the final letter of user name
"name surname".gsub(/e\b/, 'ai')
这会将 e 替换为 ai,因此“name surname = namai surnamai”。
如何在同一条记录上用于更多选项,例如:“e = ai, us = mi, i = as”?
谢谢
【问题讨论】:
-
@WiktorStribiżew 如果右侧有重叠的键,例如:
e和er,需要确保较长的键先出现...Regexp.union(h.keys.sort_by { |w| -w.length })
标签: ruby-on-rails ruby regex gsub