r - 如何仅在 R 中提取第一个数字字符之前的所有文本

标签 r regex gsub

我有一个变量 x,它是一系列字符,例如:

"W1W", "BT3", "BS5", "E1W", "B68"

从这里我需要提取第一个数字字符之前的字符以获得例如

"W", "BT", "BS", "E", "B"

我已经尝试查看以前的问题并发现:

gsub("[^a-zA-Z]", "", x)

但这会使文本字符跟在数字字符之后并导致:

"WW", "BT", "BS", "EW", "B"

有没有办法只获取数字字符之前的前导文本字符,然后删除所有字符?

最佳答案

x <- c("W1W", "BT3", "BS5", "E1W", "B68")

library(stringr)

str_extract(x, "^\\D+")

# [1] "W"  "BT" "BS" "E"  "B" 

关于r - 如何仅在 R 中提取第一个数字字符之前的所有文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58304118/

相关文章:

python - 为什么表达包含 '\' 的正则表达式在没有原始字符串的情况下也能工作。

regex - Bash 双括号正则表达式比较使用负先行错误返回 2

删除子文本数组之前的文本

tabs - 如何让 awk gsub 返回一个制表符分隔的行?

javascript - 如何在 R Shiny 中为 DT 使用 localStorage 选项?

删除 MRO 3.2.3 后使用 ubuntu 14.04 和 R 3.2.3 进行 Rcpp 安装错误

debugging - 打印堆栈跟踪并在 R 中发生错误后继续

sql - 将 SQL 自连接查询转换为 data.table 语法

c# - RegEx、StringBuilder 和大对象堆碎片

ruby-on-rails - 如何从 url 中删除随机多余的斜杠?