移动字符串中的字母字符

Shift alphabetical characters in string

假设我有一个字符串:

s <- 'hello world zzz'

我想将字母字符向上移动一位。

所以:

等等...

并且:


另一个条件是,如果有不在字母表中的字符(在本例中为 space),则保持字符不变,因此 space 保持为space.


这一切都可能吗?

我在这里想要的输出是:

ifmmp xpsme aaa

我试过:

new <- c()
for (i in s) 
    {
    new <- c(new, 'abcdefghijklmnopqrstuvwxyz'[which('abcdefghijklmnopqrstuvwxyz' == i) + 1])
    }

print(new)

但是它不起作用...它什么都不输出。

有什么办法吗?

chartr("abcdefghijklmnopqrstuvwxyz", "bcdefghijklmnopqrstuvwxyza", 'hello world zzz')
# [1] "ifmmp xpsme aaa"

(我从未有理由使用的功能...)