繁体   English   中英

用R中的空格替换不同长度的字符串

[英]Subsetting different length strings by spaces in R

在R中,我目前有一个很长的日期和时间向量保存为字符串。 因此,根据给定的日期,字符串的长度可以为16或17或18个字符,因此我不能仅将字符串中的8或10个字符的第一个子集作为子集,因为这不适用于每个日期。 但是,由于日期和时间值之间有空格,所以我想知道如何子集该字符串,以便仅在空格之前获取字符?

只是为了展示字符串现在的样子,这里有几个例子:

  • “ 4/18/1950 0:00:00”
  • “ 6/8/1951 0:00:00”
  • “ 11/15/1951 0:00:00”

我不确定您是否熟悉正则表达式,如果不是,则应该学习,因为它们非常有用: 教程

正如akrun指出的那样,您可以使用“ sub”命令删除空格及其后的所有内容,如下所示:

sub(" .*","",stringVar)

  • 第一个参数是正则表达式代码,它与空格和随后的所有内容匹配。
  • 第二个参数是您要替换的匹配项,在这种情况下,什么都没有
  • 第三个参数是输入字符串

另外,您也可以在空格处分割字符串,然后使用“ strsplit”选择前半部分

strsplit(stringVar," ")[1]

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM