本文介绍了检查字符串是否包含 ONLY NUMBERS 或 ONLY CHARACTERS (R)的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有这三个字符串:

letters <- "abc" 
numbers <- "123" 
mix <- "b1dd"

如何检查这些字符串中的哪一个包含 LETTERS ONLY 或 NUMBERS ONLY(在 R 中)?

How can I check which one of these strings contains LETTERS ONLY or NUMBERS ONLY (in R)?

letters 只应在 LETTERS ONLY 检查中为 TRUE

letters should only be TRUE in the LETTERS ONLY check

numbers 只应在 NUMBERS ONLY 检查中为 TRUE

numbers should only be TRUE in the NUMBERS ONLY check

mix 在任何情况下都应该是 FALSE

mix should be FALSE in every situation

我现在尝试了几种方法,但没有一个真正适合我:(

I tried several approaches now but none of them really worked for me :(

例如如果我使用

grepl("[A-Za-z]", letters) 

它适用于 letters,但它也适用于 mix,这是我不想要的.

It works well for letters, but it would also works for mix, what I don't want.

提前致谢.

推荐答案

你需要持久化你的正则表达式

you need to persist your regex

all_num <- "123"
all_letters <- "abc"
mixed <- "123abc"


grepl("^[A-Za-z]+$", all_num, perl = T) #will be false
grepl("^[A-Za-z]+$", all_letters, perl = T) #will be true
grepl("^[A-Za-z]+$", mixed, perl=T) #will be false

这篇关于检查字符串是否包含 ONLY NUMBERS 或 ONLY CHARACTERS (R)的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

11-03 08:52