首页 > 解决方案 > 在字符串的开头移动字符,在 R 中保持其他字符的位置不变

问题描述

string <- paste(append(rep(" ", 7), append("A", append(rep(" ", 3), append("B", append(rep(" ", 17), "C"))))), collapse = "")

string
[1] "       A   B                 C"

如何在字符串的开头移动 A,保持 B 和 C 的位置相同?

标签: r

解决方案


您可以使用sub获取( *)单词前的所有空格(\\w+)并更改它们的位置\\2\\1

sub("( *)(\\w+)", "\\2\\1", string)
#[1] "A          B                 C"

或仅用于A

sub("( *)A", "A\\1", string)

推荐阅读