let's define the following string `s`:

```
s <- "$ A; B; C;"

```

I need to translate `s` into:

```
"$ A; $B; $C;"

```

the semicolon is the separator. However, $ is only one of 3 special characters which can appear in the string. The data frame `m` holds all 3 special characters:

```
m <- data.frame(sp = c("$", "%", "&"))

```

I first used `strsplit` to split the string using the semicolon as the separator

```
> strsplit(s, ";")
[[1]]
[1] "$ A" " B"  " C" 

```

I think the next step would be to use grep or match to check if the first string contains any of the 3 special characters defined in data frame `m`. If so, maybe use gsub to insert the matched special character into the remaining sub strings. Then simple use paste with collapse = "" to merge the substrings together again. Does that make sense?

Cheers