Use gsub remove all string before first white space in R
在此示例中,我们尝试使用sub(".*? (.+)", "\\1", D$name)
删除空格之前的所有内容。我正在寻找真正相似的东西,但我对正则表达式并不十分熟悉。
我想删除第一个数字字符之前的所有内容,但不删除它
例如,带有:
x <- c("lala65lolo","papa3hihi","george365meumeu")
我想要:
> "65lolo","3hihi", "365memeu"
您可以使用
> x <- c("lala65lolo","papa3hihi","george365meumeu")
> sub("^\\D+", "", x)
[1] "65lolo" "3hihi" "365meumeu"
或者,确保有一个数字:
sub("^\\D+(\\d)", "\\1", x)
模式匹配
^
-字符串开头\\D+
-数字以外的一个或多个字符(\\d)
-捕获组1:一个数字(替换模式中的\1
恢复在该组中捕获的数字)。]]以类似的方式,您可以实现以下目标:
sub("^\\s+", "", x)
-删除所有文本,直到第一个非空白字符]sub("^\\W+", "", x)
-删除所有文本,直到第一个单词char]sub("^[^-]+", "", x)
-删除所有文本,直到第一个连字符(如果有),等等。在R 3.6(当前为R devel版本)中,trimws
之后有一个新的whitespace
参数,可用于指定被视为空白的字符-在这种情况下,是任何非数字字符: