This would be a tidyverse based solution
library(tidyverse)
data <- data.frame(stringsAsFactors = FALSE,
x = c('xdcff','dfghj','erbmp'),
y = c('aaaa','dvbgg','tg'),
m = 0)
data %>%
rowwise() %>%
mutate(m = paste(intersect(str_split(x, pattern = "", simplify = TRUE),
str_split(y, pattern = "", simplify = TRUE)),
collapse = "")
) %>%
ungroup()
#> # A tibble: 3 x 3
#> x y m
#> <chr> <chr> <chr>
#> 1 xdcff aaaa ""
#> 2 dfghj dvbgg "dg"
#> 3 erbmp tg ""
Created on 2020-04-10 by the reprex package (v0.3.0.9001)