Biorąc pod uwagę mapę zastępczą, taką jak {search: replace, search: replace, ...}
i ciąg znaków, jak wygenerować listę wszystkich możliwych zamienników tego ciągu (pierwszy zastąpiony podłańcuch, drugi podłańcuch zastąpiony, oba wymienione itd.). Przykład:Generowanie wszystkich możliwych zamienników
map = {
'bee': 'BETA',
'zee': 'ZETA',
'dee': 'DELTA'
}
source_string = 'bee foo zee bar bee'
desired result =
[
'bee foo zee bar bee',
'BETA foo zee bar bee',
'bee foo ZETA bar bee',
'BETA foo ZETA bar bee',
'bee foo zee bar BETA',
'BETA foo zee bar BETA',
'bee foo ZETA bar BETA',
'BETA foo ZETA bar BETA'
]
Kolejność nie jest ważna.
Dzięki, tego właśnie szukałem. – georg