0

ルビー使用。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か?

4

2 に答える 2

3
term.gsub(/\b/, '%')  # %123% %code% %ruby%

これは単語の境界を使用するため、動作はあなたのものとは少し異なります。メソッドは、あなたが生成したはずの入力/\b/を返します%cats%cats%% %% %cats% %% %%

于 2013-02-19T03:36:01.067 に答える
2

単語の境界を使用するだけ

あなたが本当にやりたいのはパーセント記号で各単語を囲むことだけだと仮定すると、あなたは本当にあなたのひもでそれらすべての体操をする必要はありません。String#gsubを使用して、単語の境界を置き換えます。例えば:

term = '123 code ruby'
f_term = term.gsub /\b/, '%'
# => "%123% %code% %ruby%"
于 2013-02-19T03:37:47.280 に答える