It's also dependent on how you structure your data:

Sub M_snb()
   c00 = "Nadal"
   sn = Split("Phelps_Swimming Nadal_Tennis Messi_Football")
   c01 = "Phelps Swimming Nadal Tennis Messi Football"

   MsgBox Split(Filter(sn, c00)(0), "_")(1)
   MsgBox Split(Split(c01, c00)(1))(1)
   
   With CreateObject("scripting.dictionary")
        sp = Split(c01)
        For j = 0 To UBound(sp) - 1 Step 2
           .Item(sp(j)) = sp(j + 1)
        Next
   
        MsgBox .Item(c00)
   End With
End Sub