在 R 中用空格对不同长度的字符串进行子集化

Subsetting different length strings by spaces in R

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

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

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

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

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

  • 第一个参数是匹配 space 和后面所有内容的正则表达式代码。
  • 第二个参数是你想要替换匹配项的内容,在本例中为空
  • 第三个参数是输入字符串

或者,您可以使用 "strsplit"

在 space 和 select 的前半部分拆分字符串

strsplit(stringVar," ")[1]