r - 使用gsub删除第一个数字字符之前的所有字符串

标签 r string gsub

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)-删除所有文本,直到第一个非空格char
  • sub("^\\W+", "", x)-删除所有字符,直到第一个单词char
  • sub("^[^-]+", "", x)-删除所有文本,直到第一个连字符(如果有),等等。
  • 关于r - 使用gsub删除第一个数字字符之前的所有字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54311359/

    相关文章:

    python - 使用 rpy2 eval 表达式的指导

    r - 向量与顺序的可能组合

    r - ggplot2:多个带有框和标签的图

    重新格式化数据框,使用月份展开并按 R 中的日历顺序排序

    C# 比较两个字符串的匹配词

    python - 如何从 python 中的字符串中删除最后两行?

    r - 如何从R中的列中的每一行中删除前三个字符

    r - 如何根据 R 中的位置向量替换字符串向量中的字符?

    PHP 字符串在插入变量后跳到下一行?

    regex - R正则表达式在特定位置的字符之间获取字符串