Это разбивает строки на vs., а затем подсчитывает длину. Это возвращает первую строку с датой 2008-03-29
df1$count <- lengths(strsplit(df1$V2, 'vs.'))
df1[df1$count > 1, ]
Фильтр за один проход
df1[lengths(strsplit(df1$V2, 'vs.')) > 1, ]
Тестовые данные
df1 <- structure(list(V1 = c("2008-03-29", "1935-04-17", "1976-05-09"
), V2 = c("KO-D Openweight Title Number 1 Contendership Four Way Dance: Great Yago
(Yoshiaki Yago) vs. I Am Chono Sanshiro (Sanshiro Takagi) vs. Koo vs. Seiya Morohashi
- No Contest",
"Lou Thesz Vs. Otto Kuss Ime Limit Draw ", "Harley Race Vs. The Destroyer Ime Limit Draw "
), count = c(4L, 1L, 1L)), row.names = c(NA, -3L), class = "data.frame")