我正在尝试在字符串中找到此特定字符"|"
的位置。
例如:8,75.2|6,0.376
我期望的答案是7
我尝试使用regexpr:
regexpr('|',"8,75.2|6,0.376")
但是它没有用(尽管它在我寻找“,”时也有用)
有什么想法吗?
答案 0 :(得分:2)
“ |”字符是正则表达式中的特殊字符。您可以搜索“ |”通过使用转义符'\'regexpr("\\|","8,75.2|6,0.376")
答案 1 :(得分:0)
另一种选择是使用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
答案 2 :(得分:0)
您可以使用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