Пытаясь найти этот конкретный символ "|" расположение в строке - PullRequest
0 голосов
/ 26 июня 2018

Я пытаюсь найти конкретный символ "|" местоположение в строке.

например: 8,75.2|6,0.376 я ожидаю ответа 7

Я пытаюсь использовать regexpr:

 regexpr('|',"8,75.2|6,0.376")

но это не сработало (хотя и сработало, когда я искал ",")

есть идеи?

Ответы [ 3 ]

0 голосов
/ 26 июня 2018

Другой вариант - использовать lapply:

> str <- '8,75.2|6,0.376'
> chars <- strsplit(str, '')
> chars
[[1]]
[1] "8" "," "7" "5" "." "2" "|" "6" "," "0" "." "3" "7" "6"
> loc <- lapply(chars, function(elem) which (elem == '|'))
> loc
[[1]]
[1] 7

См. Документацию lapply

0 голосов
/ 27 июня 2018

Вы можете использовать пакет stringr:

library(stringr)
str_locate("8,75.2|6,0.376",fixed('|'))
#or
str_locate("8,75.2|6,0.376",'\\|')

Результат выборки:

     start end
[1,]     7   7
0 голосов
/ 26 июня 2018

'|' символ - это специальный символ в регулярном выражении. Вы можете искать '|' с помощью escape-символа '\' regexpr("\\|","8,75.2|6,0.376")

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...