e.Trim()).Where(e => !string.IsNullOrEmpty(e)).ToArray();
if(inputType == "video")
return string.Join(",",lines.Select((e) => FetchVideoId(e)).ToArray());
else if(inputType == "channel")
return string.Join(",",lines.Select((e) => FetchChannelId(e)).ToArray());
else
return string.Join(",",lines.Select((e) => e).ToArray());
}
string FetchVideoId(string input) {
Regex regex = new Regex(@"^.*(youtu.be\/|v\/|e\/|u\/\w+\/|(embed|watch)\/|v=)([^#\&\?]*).*");
if(!regex.IsMatch(input))
return input;
Match match = regex.Match(input);
return match.Groups[3].Value;
}
string FetchChannelId(string input) {
Regex regex = new Regex(@"^(?:http|https):\/\/[a-zA-Z-]*\.{0,1}[a-zA-Z-]{3,}\.[a-z]{2,}\/channel\/([a-zA-Z0-9_\-]{3,24})");
if(!regex.IsMatch(input))
return input;
Match match = regex.Match(input);
return match.Groups[1].Value;
}
]]>