R 替换字符串中句点的第三个实例,同时保留句点

R 替换字符串中句点的第三个实例,同时保留句点,r,date,gsub,substr,R,Date,Gsub,Substr,我有一个带有日期的字符向量,格式如下(这只是一个示例): x你可以做: x <- c("03.04.30", "02.06.32", "01.11.33", "10.10.31") x <- gsub("(\\d{2})$", "19\\1", x) as.Date(x, format = "%d.%m.%Y") 这假设数据的格式是一致的,否则您可能需要重新考虑正则表达式。您可以: x <- c("03.04.30", "02.06.32", "01.11.33", "10.

我有一个带有日期的字符向量,格式如下(这只是一个示例):

x你可以做:

x <- c("03.04.30", "02.06.32", "01.11.33", "10.10.31")
x <- gsub("(\\d{2})$", "19\\1", x)
as.Date(x, format = "%d.%m.%Y")
这假设数据的格式是一致的,否则您可能需要重新考虑正则表达式。

您可以:

x <- c("03.04.30", "02.06.32", "01.11.33", "10.10.31")
x <- gsub("(\\d{2})$", "19\\1", x)
as.Date(x, format = "%d.%m.%Y")

这假设数据的格式是一致的,否则您可能需要重新考虑正则表达式。

尝试以下正则表达式

x2 <- sub("\\.(\\d{2})$", ".19\\1", x)
x2
#[1] "03.04.1930" "02.06.1932" "01.11.1933" "10.10.1931"

as.Date(x2, format = "%d.%m.%Y")
#[1] "1930-04-03" "1932-06-02" "1933-11-01" "1931-10-10"

x2尝试以下正则表达式

x2 <- sub("\\.(\\d{2})$", ".19\\1", x)
x2
#[1] "03.04.1930" "02.06.1932" "01.11.1933" "10.10.1931"

as.Date(x2, format = "%d.%m.%Y")
#[1] "1930-04-03" "1932-06-02" "1933-11-01" "1931-10-10"

x2非常感谢!这对我有用。我在
sub
函数的
替换部分遇到了问题。为了确保我正确阅读此内容,您的
gsub
读取:找到字符串末尾代表两位数字的组,并替换为“19”,然后替换当前存在的任何值?我不太明白您代码的
\\1
部分。非常感谢您提前提供的帮助!我想你读对了<代码>\\1
指的是
()
内的内容。因此,我们要求
gsub()
将其放回原处。如果您有许多
()
,请使用
\\1
参考第一个,使用
\\2
等参考第二个。非常感谢!这对我有用。我在
sub
函数的
替换部分遇到了问题。为了确保我正确阅读此内容,您的
gsub
读取:找到字符串末尾代表两位数字的组,并替换为“19”,然后替换当前存在的任何值?我不太明白您代码的
\\1
部分。非常感谢您提前提供的帮助!我想你读对了<代码>\\1
指的是
()
内的内容。因此,我们要求
gsub()
将其放回原处。如果您有许多
()
,请使用
\\1
参考第一个,使用
\\2
参考第二个,以此类推。