【发布时间】:2015-10-28 14:01:29
【问题描述】:
我尝试了以下方法,但是,当字符串包含任何其他字符(例如空格)时会出错。如下图所示,有一个叫“subway 10”的字符串,里面确实包含数字字符,但是因为有空格,报错了。
我的字符串可能包含任何其他字符,但如果它至少包含一个数字,我想从数组中获取这些字符串的索引。
> mywords<- c("harry","met","sally","subway 10","1800Movies","12345")
> numbers <- grepl("^[[:digit:]]+$", mywords)
> letters <- grepl("^[[:alpha:]]+$", mywords)
> both <- grepl("^[[:digit:][:alpha:]]+$", mywords)
>
> mywords[xor((letters | numbers), both)] # letters & numbers mixed
[1] "1800Movies"
【问题讨论】:
-
我可能遗漏了一些东西,但你为什么不使用
"[[:digit:]]+"? -
问题是你使用了锚
^&$;例如"^[[:digit:]]+$"正在检查一个字符串是否包含 only 个数字。