Можно ли извлечь слова из строки, начинающейся с $ в R?
x <- c(“$abc”, “abc”, “$123”, “456”)
желаемых результатов
(case 1)
[1] “$abc”, “$123”
или даже лучше (случай 2)
[1] “$abc”
Спасибо
Функция startWith (base) возвращает по индексу, если значение начинается со строки, предоставленной в качестве параметра (TRUE) или нет (FALSE), поэтому вы можете сделать что-то подобное
x[startsWith(x,"$")]
Использование grep:
grep
x <- c("$abc", "abc", "$123", "456", "$AC-DC", "A-Z") grep("^\\$[A-Za-z]", x, value=TRUE) #[1] "$abc" "$AC-DC"
^ означает, что начинается с.
^
\\$ означает поиск литерала $.
\\$
[A-Za-z] означает любую букву.
[A-Za-z]
Мы можем использовать str_detect из stringr
str_detect
stringr
library(stringr) x[str_detect(x, "^\\$[A-Za-z]")] #[1] "$abc" "$AC-DC"
x <- c("$abc", "abc", "$123", "456", "$AC-DC", "A-Z")
Это мой python код. Но это даст вам представление о том, как это может работать в r. Логика c здесь такая же:
python
r
L = [“$abc”, “abc”, “$123”, “456”] for i in L: if "$" in i: print(i)
Я только что создал список с именем L. Затем я использовал for loop, чтобы построчно получить все строки внутри списка, а затем распечатать его.
L
for loop