所以我在这里要做的是提取出“查理”这个词之前的词(不包括空格)。
a = 'Charlie is at the pet shop.'
b = ' Charlie is at the pet shop.'
c = 'Jane saw Charlie at the pet shop.'
到目前为止我尝试过的:
> gsub('(.*?)((\\s)*Charlie).*','\\1',a)
[1] ""
> gsub('(.*?)((\\s)*Charlie).*','\\1',b)
[1] " "
> gsub('(.*?)((\\s)*Charlie).*','\\1',c)
[1] "Jane saw "
我想要达到的目标:
[1] ""
[1] ""
[1] "Jane saw "
我可以知道为什么上面的代码不起作用吗?另外,我应该如何修改正则表达式模式才能实现我想要的?
为什么不简单,
sub('Charlie.*', '', x)
#[1] "" " " "Jane saw "
或者
sub('Charlie.*', '', trimws(x))
#[1] "" "" "Jane saw "
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句