Я пытаюсь найти конкретный символ "|" местоположение в строке.
"|"
например: 8,75.2|6,0.376 я ожидаю ответа 7
8,75.2|6,0.376
7
Я пытаюсь использовать regexpr:
regexpr('|',"8,75.2|6,0.376")
но это не сработало (хотя и сработало, когда я искал ",")
есть идеи?
Другой вариант - использовать lapply:
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
Вы можете использовать пакет stringr:
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
'|' символ - это специальный символ в регулярном выражении. Вы можете искать '|' с помощью escape-символа '\' regexpr("\\|","8,75.2|6,0.376")
regexpr("\\|","8,75.2|6,0.376")