Selectively replace multiple instances of a character within a string: Difference between revisions
Content added Content deleted
m (→Python) |
|||
Line 574: | Line 574: | ||
def nthInstanceReplaced(ruleMap): |
def nthInstanceReplaced(ruleMap): |
||
def go(a, c): |
def go(a, c): |
||
if c in |
if c in a: |
||
ds = a.get(c) |
|||
deltas = ruleMap.get(c) |
|||
return ( |
return ( |
||
dict(a, **{c: 1 |
dict(a, **{c: ds[1:]}), |
||
ds[0] or c |
|||
) |
) if ds else (a, c) |
||
else: |
else: |
||
return a, c |
return a, c |
||
return lambda s: ''.join( |
return lambda s: ''.join( |
||
mapAccumL(go)( |
mapAccumL(go)(ruleMap)(s)[1] |
||
) |
) |
||