我的函数必须将给定字符串中的所有大写字母转换为小写字母,反之亦然.我曾经用循环来解决这些问题.所以,我的代码是:
mirror_case <- function(x){
for(i in x){
ifelse(i==toupper(i),x <-
str_replace_all(x,i,tolower(i)),
ifelse(i==tolower(i),x <-
str_replace_all(x,i,toupper(i)),
x <- gsub(i,i,x)))}
return(x)}
Run Code Online (Sandbox Code Playgroud)
我在几个字符串上检查了这个.有时它有效,有时则无效.
> d
[1] "LKJLjlei 33"
> mirror_case(d)
[1] "LKJLjlei 33"
> e
[1] "asddf"
> mirror_case(e)
[1] "ASDDF"
> f
[1] "ASDDF"
> mirror_case(f)
[1] "asddf"
Run Code Online (Sandbox Code Playgroud)
那么,这个功能有什么问题?我不仅希望得到答案,而且还想要解释一下这个问题的一些解释,而不是回到这里与类似的问题.