2

我试图弄清楚在将 Perl 脚本移植到 Ruby 的过程中如何进行字符串替换。

这是 Perl 行。我试图找出 Ruby 的等价物:

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

对于那些可能了解 Ruby 但不了解 Perl 的人来说,这一行基本上用变量$historyVariable的值替换了 中的字符串“COMPONENT_NAME”。$componentName

4

2 回答 2

5

等价的很简单:

history_url.gsub!(/COMPONENT_NAME/, component_name)

gsub!方法用第二个参数替换给定模式的所有实例,并将结果存储在原始变量中,因为它是一个就地修饰符。gsub通过比较返回修改后的副本。

于 2013-02-22T21:51:42.030 回答
0

- 方法的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 回答