如何获得R文本中的数字数量?

时间:2019-05-24 12:02:02

标签: r

我想知道文本变量中有多少位数。例如,在文本“ ABC234”中答案为3的函数。

我尝试过:

aa=gregexpr("[[:digit:]]+\\.*[[:digit:]]*","ABC234")

我几乎有it,但老实说我仍然不了解这些列表,所以我不知道如何获得它。

任何功能?或如何通过我的几乎选择方式进行管理?

谢谢

3 个答案:

答案 0 :(得分:1)

匹配每个数字,然后取返回值的长度:

lengths(gregexpr("\\d", "ABC234"))
## [1] 3

或将每个非数字替换为长度为零的字符串,然后取剩余长度:

nchar(gsub("\\D", "", "ABC234"))
## [1] 3

答案 1 :(得分:1)

作为一种选择,您还可以使用stringistringr库:

stringi::stri_count('ABC234', regex = '\\d')
# [1] 3
stringr::str_count('ABC234', '\\d')
# [1] 3

答案 2 :(得分:0)

您可以按以下方式使用dpylrreadr软件包:

library(readr)
library(dplyr)

string = "ABC234"
parse_number(string) %>% 
  nchar()

[1] 3