在第一个逗号之后提取字符串,并使用R将其存储在另一列中

时间:2019-03-27 10:56:04

标签: r

我想在第一个逗号之后分割文本,然后将其放在同一数据框的另一列中。

[hidden]=true

但是它在上一个逗号之后分裂了,我不想。

在第一个逗号后分割文本并将其存储在另一个名为“ new”的列之后的预期输出应如下所示:

第一行:根据合同,员工可以利用健身房,娱乐中心等各种服务。

第二排:米饭等。

2 个答案:

答案 0 :(得分:1)

使用sub,并使点变为惰性:

s2$new <- sub("^.*?,", "", s2$text)

或者,另一种方式:

s2$new <- sub("^[^,]*,", "", s2$text)

当前模式的问题是.*默认为 greedy ,这意味着它将消耗掉所有内容,直到 last 逗号为止。但是对于您而言,您希望它在第一个逗号处停止匹配。

答案 1 :(得分:0)

一种实现方法是使用stringr库和str_split_fixed函数,该函数在模式匹配时将字符串向量分割成子字符串矩阵。

library(stringr)

s2$new <- str_split_fixed(s2$text, ",", 2)[,2]