2

PerlスクリプトをRubyに移植する過程で、文字列置換を行う方法を見つけようとしています。

これがPerlの行です。私はRubyの同等物を理解しようとしています:

$historyURL =~ s/COMPONENT_NAME/$componentName/g;

Ruby は知っているが Perl は知らないという人のために説明すると、この行は基本的に、文字列 "COMPONENT_NAME" を変数$historyVariableの値に置き換え$componentNameます。

4

2 に答える 2

5

同等のものは非常に簡単です:

history_url.gsub!(/COMPONENT_NAME/, component_name)

このメソッドは、指定されたパターンのすべてのgsub!インスタンスを 2 番目の引数に置き換え、元の変数がインプレース修飾子であるため、結果を格納します。比較すると、変更されたコピーが返されます。gsub

于 2013-02-22T21:51:42.030 に答える
0

-methodの良い点gsubは、正規表現を必要としないことです。文字列 (または文字列を指す変数) で問題なく動作します。

history_url = "some random text COMPONENT_NAME random text COMPONENT_NAME"
component_name = "lemonade"
p history_url.gsub("COMPONENT_NAME", component_name) # no regex
#=> "some random text lemonade random text lemonade"
于 2013-02-22T22:05:43.450 に答える