我试图弄清楚在将 Perl 脚本移植到 Ruby 的过程中如何进行字符串替换。
这是 Perl 行。我试图找出 Ruby 的等价物:
$historyURL =~ s/COMPONENT_NAME/$componentName/g;
对于那些可能了解 Ruby 但不了解 Perl 的人来说,这一行基本上用变量$historyVariable
的值替换了 中的字符串“COMPONENT_NAME”。$componentName
我试图弄清楚在将 Perl 脚本移植到 Ruby 的过程中如何进行字符串替换。
这是 Perl 行。我试图找出 Ruby 的等价物:
$historyURL =~ s/COMPONENT_NAME/$componentName/g;
对于那些可能了解 Ruby 但不了解 Perl 的人来说,这一行基本上用变量$historyVariable
的值替换了 中的字符串“COMPONENT_NAME”。$componentName
等价的很简单:
history_url.gsub!(/COMPONENT_NAME/, component_name)
该gsub!
方法用第二个参数替换给定模式的所有实例,并将结果存储在原始变量中,因为它是一个就地修饰符。gsub
通过比较返回修改后的副本。
- 方法的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"