Selectively replace multiple instances of a character within a string: Difference between revisions
Content added Content deleted
Line 91: | Line 91: | ||
rep = Dict('a' => Dict(1 => 'A', 2 => 'B', 4 => 'C', 5 => 'D'), 'b' => Dict(1 => 'E'), 'r' => Dict(2 => 'F')) |
rep = Dict('a' => Dict(1 => 'A', 2 => 'B', 4 => 'C', 5 => 'D'), 'b' => Dict(1 => 'E'), 'r' => Dict(2 => 'F')) |
||
function trstring( |
function trstring(oldstring, repdict) |
||
seen, newchars = Dict{Char, Int}(), Char[] |
seen, newchars = Dict{Char, Int}(), Char[] |
||
for c in |
for c in oldstring |
||
i = get!(seen, c, 1) |
i = get!(seen, c, 1) |
||
push!(newchars, haskey(repdict, c) && haskey(repdict[c], i) ? repdict[c][i] : c) |
push!(newchars, haskey(repdict, c) && haskey(repdict[c], i) ? repdict[c][i] : c) |