@ rui-barradas already gave the answer in the comments, this is just an elaboration. First, let's create an example with more sentences.
string.vector <- c(
"gnoll: Você tem acesso total a esta informação.",
"stack: Você tem acesso parcial a esta informação.",
"fnord: Você não tem nivel de acesso a esta informação.",
"fnord: Você poderia ter acesso a esta informação."
)
> string.vector
[1] "gnoll: Você tem acesso total a esta informação."
[2] "stack: Você tem acesso parcial a esta informação."
[3] "fnord: Você não tem nivel de acesso a esta informação."
[4] "fnord: Você poderia ter acesso a esta informação."
grep
will give you the indexes (positions) in which the pattern you fetched was found. grepl
will give you TRUE / FAIL for all positions:
> grep('fnord', string.vector)
[1] 3 4
> grepl('fnord', string.vector)
[1] FALSE FALSE TRUE TRUE
strsplit generates a list with separate strings according to the criteria it has set (scores and spaces, if any):
split.list <- strsplit(string.vector, "[[:punct:] ]")
> split.list
[[1]]
[1] "gnoll" "" "Você" "tem" "acesso"
[6] "total" "a" "esta" "informação"
[[2]]
[1] "stack" "" "Você" "tem" "acesso"
[6] "parcial" "a" "esta" "informação"
[[3]]
[1] "fnord" "" "Você" "não" "tem"
[6] "nivel" "de" "acesso" "a" "esta"
[11] "informação"
[[4]]
[1] "fnord" "" "Você" "poderia" "ter"
[6] "acesso" "a" "esta" "informação"
Applying grep and grepl here will give you the same result because you are indicating which items in the list have the search key:
> grep('fnord', split.list)
[1] 3 4
> grepl('fnord', split.list)
[1] FALSE FALSE TRUE TRUE
You can use lapply to apply grep / grepl to every element in the list
> lapply(split.list, grep, pattern = 'fnord')
[[1]]
integer(0)
[[2]]
integer(0)
[[3]]
[1] 1
[[4]]
[1] 1
> lapply(split.list, grepl, pattern = 'fnord')
[[1]]
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[[2]]
[1] FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[[3]]
[1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
[[4]]
[1] TRUE FALSE FALSE FALSE FALSE FALSE FALSE FALSE FALSE
The stringr
package has friendly functions for working with text strings. Check out their vignette on regular expressions .