string <- "0000A0000B0000C0000D0000E0000A0000" pattern <- c("XXXX") gsub("(^|[AB])0000", "\\1XXXX", string)