вероятно, вы не найдете "хорошего решения".Вы можете сделать что-то вроде этого:
fun extractId(text: String) : String{
val parts = text.split("/")
if(text.contains("https://youtu.be/")){
return parts.get(parts.size -1)
}
if(text.contains("https://www.youtube.com/") && text.contains("watch?v=")){
return (parts.get(parts.size -1)).replace("watch?v=", "")
}
return "";
}