gpt4 book ai didi

r - gsub 只是模式的一部分

转载 作者:行者123 更新时间:2023-12-04 01:53:54 25 4
gpt4 key购买 nike

我想使用 gsub 来更正我数据中的一些名称。我想要诸如“R.J.”之类的名字和“A.J.”字母之间没有空格。

例如:

x <- "A. J. Burnett"

我想用gsub来匹配他名字的模式,然后去掉空格:
gsub("[A-Z]\\.\\s[A-Z]\\.", "[A-Z]\\.[A-Z]\\.", x)

但我得到:
[1] "[A-Z].[A-Z]. Burnett"

显然,我想要原始名称中的实际字母,而不是 [A-Z]。我怎样才能做到这一点?

最佳答案

通过在 (...) 中包含模式来使用捕获组,并使用 \\1 引用捕获的模式, \\2 , 等等。在这个例子中:

x <- "A. J. Burnett"
gsub("([A-Z])\\.\\s([A-Z])\\.", "\\1.\\2.", x)
[1] "A.J. Burnett"

另请注意,在替换中您不需要转义 .字符,因为它们在那里没有特殊含义。

关于r - gsub 只是模式的一部分,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37425019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com