Tugas
Tulis sebuah program atau fungsi yang diberi tiga string A, B, C
menghasilkan string output di mana setiap instance B
in A
telah diganti secara rekursif C
. Rekursif mengganti cara mengulang substitusi di mana pada setiap langkah semua contoh yang tidak tumpang tindih dari B
dalam A
(dipilih rakus dari kiri ke kanan) diganti dengan C
sampai B
tidak lebih terkandung dalam A
.
Input output
- Anda dapat menggunakan salah satu metode default untuk I / O .
- Strings hanya akan berisi karakter ASCII yang dapat dicetak (dan mungkin mengandung salah satunya).
B
tidak akan pernah menjadi string kosong, sementaraA
danC
mungkin.- String harus dianggap plaintext, misalnya Anda tidak dapat memperlakukan
B
sebagai pola Regex. - Beberapa kombinasi input tidak akan pernah berakhir. Program Anda dapat melakukan apa saja dalam kasus-kasus itu.
Uji kasus
Ini dalam format: A/B/C\nOutput
Hello, world!/world!/PPCG
Hello, PPCG
Uppercase is up/up/down
Uppercase is down
ababababa/aba/ccc
cccbcccba
delete/e/{empty string}
dlt
{empty string}/no/effect
{empty string}
llllrrrr/lr/rl
rrrrllll
+-+-+-+/+-+/+
+
ababababa/aba/bada
badabbadbada
abaaba/aba/ab
abb
((())())())/()/{empty string}
)
Contoh yang tidak berakhir:
grow/ow/oow
loop/lo/lo
downpercase is down
((())())())/()/