Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/r/73.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
R 正则表达式删除日期后的尾部_R_Regex_Date_Substitution - Fatal编程技术网

R 正则表达式删除日期后的尾部

R 正则表达式删除日期后的尾部,r,regex,date,substitution,R,Regex,Date,Substitution,我环顾四周,但是我在使用regex使用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" 或

我环顾四周,但是我在使用regex使用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另一种解决方案是简单地截断字符串:

library("stringr")

# truncate date after 10 characters
a$date <- str_trunc(a$date,10) 
库(“stringr”)
#在10个字符后截断日期

一个$date非常感谢!这正是我想要的。谢谢!这太棒了。这也是一个有效的答案。
library("stringr")

# truncate date after 10 characters
a$date <- str_trunc(a$date,10)