当前位置: 首页 > 知识库问答 >
问题:

检查字符串中是否至少包含一个数字字符R[重复]

席俊
2023-03-14

我的字符串可以包含任何其他字符,但如果它至少包含一个数字,我希望从数组中获取这些字符串的索引

> 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"

共有1个答案

南宫云
2023-03-14

使用\\d对我有用:

grepl("\\d", mywords)
[1] FALSE FALSE FALSE  TRUE  TRUE  TRUE

[[:digit:]]:

grepl("[[:digit:]]", mywords)
[1] FALSE FALSE FALSE  TRUE  TRUE  TRUE

正如@nrussel提到的,您正在测试字符串是否只包含字符串开始^到结束$之间的数字。

grepl("[^a-zA-Z]", mywords)
[1] FALSE FALSE FALSE  TRUE  TRUE  TRUE
 类似资料:
  • 我需要这样一种验证,即我的字符串必须至少包含一个Unicode字母。将评估角色的角色。isLetter()为true。 比如说我要 我知道我可以使用角色循环。isLetter(),但我只是不想这么做。 这和这个完全不同,因为它只检查英文字母,但在我的例子中是一个Unicode字母。这根本不一样。

  • 问题内容: 我想要这样一个验证,即“我的字符串”必须至少包含一个字母。 我正在使用以下内容: 即使在我的字符串中,标志也会给我 问题答案: 您想要的正则表达式是,但是您需要使用方法。 此页面将让您根据输入测试正则表达式。 正则表达式测试页 这里有一个Java正则表达式教程。 Java正则表达式教程

  • 我有这三个字符串: 我如何检查这些字符串中哪一个只包含字母还是只包含数字(用R表示)? 只能在字母检查中为TRUE 它对很有效,但对也很有效,这是我不想要的。 提前谢了。

  • 问题内容: 我正在尝试查看字符串是否至少包含数字或小写或大写。 我写了这样的东西: 但是我不明白为什么我不能使组合达到36。它们一直保持为0。我在做什么错? 问题答案: 您可以改用Pattern,我认为“ matches”方法会查找整个字符串以匹配正则表达式。 试试下面的代码:

  • 我需要这样的验证,我的字符串必须至少包含一个字母表。 我正在使用以下内容: 即使字符串中有a,flag也会给我提供false

  • 如果是-than字符串应该被移除。 我想知道为什么不是每个带有“L”的字符串都被去掉? 结果是: