文字列に付加できるプレフィックスのリストがある場合、そのような文字列をそのプレフィックスと次のサブ文字列の他の文字に分割するにはどうすればよいですか。例えば:
prefixes = ['over','under','re','un','co']
str1 = "overachieve"
output: ["over","achieve"]
str2 = "reundo"
output = ["re","un","do"]
上記のタスクを実行するためのより良い方法はありますか?おそらく正規表現または次以外のいくつかの文字列関数を使用します:
str1 = "reundo"
output = []
for x in [p for p in prefixes if p in str1]:
output.append(x)
str1 = str1.replace(x,"",1)
output.append(str1)