Извлечь слова из строки, начинающейся с $ - PullRequest
0 голосов
/ 21 апреля 2020

Можно ли извлечь слова из строки, начинающейся с $ в R?

x <- c(“$abc”, “abc”, “$123”, “456”)

желаемых результатов

  • (case 1)

    [1] “$abc”, “$123”

  • или даже лучше (случай 2)

    [1] “$abc”

Спасибо

Ответы [ 4 ]

0 голосов
/ 22 апреля 2020

Функция startWith (base) возвращает по индексу, если значение начинается со строки, предоставленной в качестве параметра (TRUE) или нет (FALSE), поэтому вы можете сделать что-то подобное

x[startsWith(x,"$")]
0 голосов
/ 21 апреля 2020

Использование 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] означает любую букву.

0 голосов
/ 21 апреля 2020

Мы можем использовать 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")
0 голосов
/ 21 апреля 2020

Это мой python код. Но это даст вам представление о том, как это может работать в r. Логика c здесь такая же:

L = [“$abc”, “abc”, “$123”, “456”] 

for i in L:
    if "$" in i:
        print(i)

Я только что создал список с именем L. Затем я использовал for loop, чтобы построчно получить все строки внутри списка, а затем распечатать его.

...