任务
编写一个程序或函数,给出给定的三个字符串A, B, C
会生成一个输出字符串,其中B
in的每个实例A
都已用递归替换C
。递归替换表示重复替换,其中在每一步中B
in的所有不重叠实例A
(从左到右贪婪地选择)都替换为,C
直到B
不再包含在中A
。
输入输出
- 您可以对I / O使用任何默认方法。
- 字符串将仅包含可打印的ASCII字符(并且可以包含任何一个)。
B
永远不会是一个空字符串,而A
并且C
可能是。- 字符串应被视为纯文本,例如,您不能将其
B
视为Regex模式。 - 输入的某些组合永远不会终止。在这种情况下,您的程序可以执行任何操作。
测试用例
这些格式为: 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}
)
不会终止的示例:
grow/ow/oow
loop/lo/lo
downpercase is down
((())())())/()/