我正在尝试编写一个函数,它将接受一个字符串并将一个字符替换为另一个字符,但我希望它返回替换该字符的每个排列组合。我想用l替换每个i,但我不想像在gsub中全局替换,也不想像在sub中只替换第一个。我认为通过示例最能说明问题。如果我传入名称keviin(有两个i):
thisFunction("keviin")
[1] kevlin keviln kevlln
所以我需要替换第一个i,第二个i还有两个i都替换的情况。这听起来像是递归的工作,但首先我需要弄清如何仅替换第一个i。然后我可以将结果字符串传递给函数以获取下一个排列。
有没有人能给我一点提示?我尝试过这个方法,但对我来说不起作用:
> substr("keviin",4,4) <- "l"
Error in substr("keviin", 4, 4) <- "l" :
target of assignment expands to non-language object
2^7 - 1
个结果,实际上得到了127个。 - Carl Witthoft