给定长度不同的字符串数组,如何用相同的单词替换每个字符串

时间:2016-05-04 10:18:26

标签: arrays ruby string gsub

我必须用相同的单词替换多个字符串,假设单词是" plum"。

一个例子可能是...... "这是一个字符串"和预期的产量将是"李子梅李子"要么 "我很高兴"输出"李子"

到目前为止,我已将字符串转换为数组,使用...

进行映射和计数
string = sentence.split(&:map).to_a
n = string.count.to_i

我现在尝试使用sentence.gsub[0..n]替换数组中的每个字符串,我希望用我的单词替换数组中的每个位置。

我确定这不是最好的方法,但是我真的很感谢这个特殊方法的帮助,以帮助我理解我在思考中出错的地方以及找出方法。我可以用更清晰的代码完成它

2 个答案:

答案 0 :(得分:1)

您可以尝试这种方式:

"This is a string".split.map { "plum" }.join(" ")
=> "plum plum plum plum"

或者使用gsub

"This is a string".gsub(/[^\s]+/, "plum")
=> "plum plum plum plum"

答案 1 :(得分:0)

你可以像你说的那样多次重复“梅花”......

sentence = "This is a string"
("plum " * sentence.split.count).strip
=> "plum plum plum plum"