删除R中字符串中空格后的所有内容

时间:2012-02-16 21:20:30

标签: r

我想在字符串中的空格后删除所有内容。

例如:

“我的字符串很难过”

应该返回

“我的”

我一直试图弄清楚如何使用sub / qsub做到这一点,但到目前为止还没有成功。很感谢任何形式的帮助。

4 个答案:

答案 0 :(得分:9)

strsplit("my string is sad"," ")[[1]][1]

答案 1 :(得分:8)

或者,将第一个空格后面的所有内容替换为空白:

gsub(' [A-z ]*', '' , 'my string is sad')

还有数字:

gsub('([0-9]+) .*', '\\1', c('c123123123 0320.1'))

答案 2 :(得分:6)

您可以使用像

这样的正则表达式
sub(" .*", "", x)

请参阅regex demo

在这里,sub只执行单个搜索和替换操作, .*模式将找到第一个空格(因为正则表达式引擎从左到右搜索字符串)和{{1} }匹配任何零个或多个字符(在TRE正则表达式中,甚至包括换行符,在使用.*时要小心,然后情况并非如此),尽可能多,直到字符串结尾。

一些变化:

perl=TRUE

请参阅online R demo

答案 3 :(得分:3)

如果你想用正则表达式来做:

gsub('([A-z]+) .*', '\\1', 'my string is sad')