2012-07-04 2 views
3

У меня есть строка и вы захотите заменить несколько символов на разные позиции и напечатать эту строку.Заменить символ в позиции индекса в Ruby

E.g.

Здесь мне нравится подставлять строку в позиции с помощью string_replace.

string = "AGACACTTTATATGTAT" 

positions = ["2", "5", "8", "10"] 

string_replace = ["T", "A", "G", "G"] 

Выход мне нужно это => "AGTCAATTGAGATGTAT"

Я попытался это, но без успеха:

positions.zip(string_replace).each do |pos, str| 
    string.gsub!(/#{string}[#{pos}]/, '#{str}') 
    puts string 
end 

Любая помощь будет оценена.

ответ

6
positions.zip(string_replace).each do |pos, str| 
    string[pos.to_i] = str 
    puts string 
end 
1

Здесь:

positions.each_with_index {|o, i| string[o]=replacments[i]} 
Смежные вопросы