Я пробовал следующее, однако это не так, когда строка содержит любой другой символ, например пробел. Как вы можете видеть ниже, есть строка под названием «метро 10», которая содержит числовые символы, однако она сообщается как ложная из-за пробела.Как проверить, содержит ли строка хотя бы один числовой символ в R
Моя строка может содержать любой другой символ, но если она содержит хотя бы одну цифру, я хотел бы получить индексы этих строк из массива.
> 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:]] + "'? – Roland
Проблема заключается в использовании анкеров '^' & '$';, например. ''^[[: digit:]] + $ "' проверяет, содержит ли строка * только * числа. – nrussell