【发布时间】:2015-02-06 22:07:56
【问题描述】:
我想计算字符串中的字符数(不包括空格),我想知道我的方法是否可以改进。
假设我有:
x <- "hello to you"
我知道nchar() 会给我一个字符串中的字符数(包括空格):
> nchar(x)
[1] 12
但我想返回以下内容(不包括空格):
[1] 10
为此,我做了以下工作:
> nchar(gsub(" ", "",x))
[1] 10
我担心gsub() 会花很长时间处理许多字符串。这是解决这个问题的正确方法,还是有一种 nchar'esque 函数可以返回字符数而不计算空格?
提前致谢。
【问题讨论】:
-
你要转换多少个字符串? 1亿在我的机器上花了大约30秒。我认为你的技术很合理。
-
你可以使用
stringi::stri_count,它可能会更快 -
@nograpes,我一直在学习这门语言,并正在考虑将一本书的章节写成一个字符串。很高兴知道我的方法并不太老套。谢谢你给我一个基线。
-
@RichardScriven:谢谢,我以前没见过,所以我很乐意去看看。