我有一个df,考虑
ID Name
1 Jon Wick
2 Ronny
3 Misha Mansoor
4 Ed Hermids
5 Ro Misha
我想以两种方式处理这个问题
保留一个单词名称。
还需要将其存储在数据框中。
结果应为
ID Name
1 Jon
2 Ronny
3 Misha
4 Ed Hermids
5 Ro Misha
答案 0 :(得分:4)
我们可以通过将字词与字符数超过2(sub
)匹配来使用\\w{3,}
,将其捕获为一个组(通过用()
包装),然后再添加一个白色空格(\\s+
)后跟一个非空白字符(\\S+
)。在替换中,我们使用捕获的字符串的反向引用(\\1
)。这将确保它只匹配超过2个字符的单词,并保留所有这些字符串。
sub("(\\w{3,})\\s+\\S+", "\\1", df1$Name)
#[1] "Jon" "Ronny" "Misha" "Ed Hermids" "Ro Misha"