所以我有一个字符列,每行看起来像这样:
aa Alice
bb peter
cc Jon
我想在前两个字母后添加一个点。所以得到像
这样的东西aa. Alice
bb. peter
cc. Jon
请帮忙,还是不太熟悉r中的字符串函数。
感谢一堆
答案 0 :(得分:1)
更一般地说,如果您想在第一个单词后添加.
并保留其他所有内容,则可以在gsub
中使用捕获组:
gsub("(^\\w+)(.*)", "\\1.\\2", chars)
#[1] "aa. Alice" "bb. peter" "cc. Jon"
在这种情况下,(^\\w+)
匹配字符串开头的任何长度的单词。我们抓住这个并在.
之后加\\1.
。
或者,如果您希望始终在前两个字符后粘贴.
,则可以使用类似的想法:
sub("([[:alpha:]]{2})(.*)", "\\1.\\2", chars)