我想删除字符串中空格后的所有内容。
例如:
"my string is sad"
应该返回
"my"
我一直试图弄清楚如何使用 sub/gsub 来做到这一点,但到目前为止还没有成功。
您可以使用正则表达式,例如
sub(" .*", "", x)
See the 正则表达式演示.
Here, sub
将仅执行单个搜索和替换操作, .*
模式将找到第一个空格(因为正则表达式引擎从左到右搜索字符串)并且.*
匹配任何零个或多个字符(在 TRE 正则表达式风格中,甚至包括换行符,使用时要小心perl=TRUE
,则情况并非如此)尽可能多,直到字符串末尾。
一些变化:
sub("[[:space:]].*", "", x) # \s or [[:space:]] will match more whitespace chars
sub("(*UCP)(?s)\\s.*", "", x, perl=TRUE) # PCRE Unicode-aware regex
stringr::str_replace(x, "(?s) .*", "") # (?s) will force . to match any chars
See the 在线 R 演示.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)