正则表达式在日期后删除尾巴
Regex to remove a tail after a date
我环顾四周,但我无法使用正则表达式使用 sub() 函数从日期变量中删除“*/tues”。
$date 中的所有变量如下所示:
01/01/2017/Sun
01/03/2017/Tues
等等
我正在尝试这样做:
sub(a$date,"*7/\*","")
我确定我弄乱了正则表达式。
如何转义前两个 /
并告诉它只删除第三个以及之后的所有内容?
我们可以使用
sub("\/[^0-9]+$","", a$date)
#[1] "01/01/2017" "01/03/2017"
或者用substr
substr(a$date, 1, 10)
#[1] "01/01/2017" "01/03/2017"
数据
a <- data.frame(date = c("01/01/2017/Sun", "01/03/2017/Tues"))
另一个解决方案是简单地截断您的字符串:
library("stringr")
# truncate date after 10 characters
a$date <- str_trunc(a$date,10)
我环顾四周,但我无法使用正则表达式使用 sub() 函数从日期变量中删除“*/tues”。
$date 中的所有变量如下所示:
01/01/2017/Sun
01/03/2017/Tues
等等
我正在尝试这样做:
sub(a$date,"*7/\*","")
我确定我弄乱了正则表达式。
如何转义前两个 /
并告诉它只删除第三个以及之后的所有内容?
我们可以使用
sub("\/[^0-9]+$","", a$date)
#[1] "01/01/2017" "01/03/2017"
或者用substr
substr(a$date, 1, 10)
#[1] "01/01/2017" "01/03/2017"
数据
a <- data.frame(date = c("01/01/2017/Sun", "01/03/2017/Tues"))
另一个解决方案是简单地截断您的字符串:
library("stringr")
# truncate date after 10 characters
a$date <- str_trunc(a$date,10)