Home > database >  Add a character to a specific part of a string?
Add a character to a specific part of a string?

Time:02-12

I have a list of file names as such:

"A/B/file.jpeg"

"A/C/file2.jpeg"

"B/C/file3.jpeg"

and a couple of variations of such.

My question is how would I be able to add a "new" or any characters into each of these file names after the second "/" such that the length of the string/name doesn't matter just that it is placed after the second "/"

Results would ideally be:

"A/B/newfile.jpeg"

"A/B/newfile2.jpeg" etc. 

Thanks!

CodePudding user response:

Another possible solution, based on stringr::str_replace:

library(stringr)

l <- c("A/B/file.jpeg", "A/B/file2.jpeg", "A/B/file3.jpeg")

str_replace(l, "\\/(?=file)", "\\/new")

#> [1] "A/B/newfile.jpeg"  "A/B/newfile2.jpeg" "A/B/newfile3.jpeg"

CodePudding user response:

Using gsub.

gsub('(file)', 'new\\1', x)
# [1] "A/B/newfile.jpeg"  "A/C/newfile2.jpeg" "B/C/newfile3.jpeg"

Data:

x <- c("A/B/file.jpeg", "A/C/file2.jpeg", "B/C/file3.jpeg")
  • Related