使用红宝石。拨弄http://rubyfiddle.com/riddles/c9c29
# code
term = "123 code ruby"
f_term = term.gsub(/\s/, "% %").insert(0, "%").insert(-1, "%")
puts f_term
# output
%123% %code% %ruby%
你会如何重构我的f_term
?
使用红宝石。拨弄http://rubyfiddle.com/riddles/c9c29
# code
term = "123 code ruby"
f_term = term.gsub(/\s/, "% %").insert(0, "%").insert(-1, "%")
puts f_term
# output
%123% %code% %ruby%
你会如何重构我的f_term
?
term.gsub(/\b/, '%') # %123% %code% %ruby%
由于这使用单词边界,因此行为与您的行为略有不同。该/\b/
方法将返回您将产生%cats%
的输入cats
%% %% %cats% %% %%
假设您真正想做的只是用百分号包围每个单词,那么您实际上并不需要用您的字符串做所有这些体操。只需使用String#gsub并替换您的单词边界。例如:
term = '123 code ruby'
f_term = term.gsub /\b/, '%'
# => "%123% %code% %ruby%"