我想在第一个逗号之后分割文本,然后将其放在同一数据框的另一列中。
[hidden]=true
但是它在上一个逗号之后分裂了,我不想。
在第一个逗号后分割文本并将其存储在另一个名为“ new”的列之后的预期输出应如下所示:
第一行:根据合同,员工可以利用健身房,娱乐中心等各种服务。
第二排:米饭等。
答案 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]