我想知道文本变量中有多少位数。例如,在文本“ ABC234”中答案为3的函数。
我尝试过:
aa=gregexpr("[[:digit:]]+\\.*[[:digit:]]*","ABC234")
我几乎有it,但老实说我仍然不了解这些列表,所以我不知道如何获得它。
任何功能?或如何通过我的几乎选择方式进行管理?
谢谢
答案 0 :(得分:1)
匹配每个数字,然后取返回值的长度:
lengths(gregexpr("\\d", "ABC234"))
## [1] 3
或将每个非数字替换为长度为零的字符串,然后取剩余长度:
nchar(gsub("\\D", "", "ABC234"))
## [1] 3
答案 1 :(得分:1)
作为一种选择,您还可以使用stringi
或stringr
库:
stringi::stri_count('ABC234', regex = '\\d')
# [1] 3
stringr::str_count('ABC234', '\\d')
# [1] 3
答案 2 :(得分:0)
您可以按以下方式使用dpylr
和readr
软件包:
library(readr)
library(dplyr)
string = "ABC234"
parse_number(string) %>%
nchar()
[1] 3