using System;
using System.Collections.Generic;
using System.Text;
using System.Linq;
using System.Text.RegularExpressions;
namespace ExtensionExtractingTest
{
class Program
{
static void Main(string[] args)
{
string fileNames = "test.docxtest2.txttest3.pdftest.test.xlxtest.docxtest2.txttest3.pdftest.test.xlxtest.docxtest2.txttest3.pdftest.test.xlxourtest.txtnewtest.pdfstackoverflow.pdf";
Regex fileNameMatchRegex = new Regex(@"[a-zA-Z0-9]*(\.txt|\.pdf|\.docx|\.txt|\.xlx)", RegexOptions.IgnoreCase);
MatchCollection matchResult = fileNameMatchRegex.Matches(fileNames);
List<string> fileNamesList = new List<string>();
foreach (Match item in matchResult)
{
fileNamesList.Add(item.Value);
}
fileNamesList = fileNamesList.Distinct().ToList();
Console.WriteLine(string.Join(";", fileNamesList));
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLlRleHQ7CnVzaW5nIFN5c3RlbS5MaW5xOwp1c2luZyBTeXN0ZW0uVGV4dC5SZWd1bGFyRXhwcmVzc2lvbnM7CgpuYW1lc3BhY2UgRXh0ZW5zaW9uRXh0cmFjdGluZ1Rlc3QKewogICAgY2xhc3MgUHJvZ3JhbQogICAgewogICAgICAgIHN0YXRpYyB2b2lkIE1haW4oc3RyaW5nW10gYXJncykKICAgICAgICB7CiAgICAgICAgICAgIHN0cmluZyBmaWxlTmFtZXMgPSAidGVzdC5kb2N4dGVzdDIudHh0dGVzdDMucGRmdGVzdC50ZXN0LnhseHRlc3QuZG9jeHRlc3QyLnR4dHRlc3QzLnBkZnRlc3QudGVzdC54bHh0ZXN0LmRvY3h0ZXN0Mi50eHR0ZXN0My5wZGZ0ZXN0LnRlc3QueGx4b3VydGVzdC50eHRuZXd0ZXN0LnBkZnN0YWNrb3ZlcmZsb3cucGRmIjsKICAgICAgICAgICAgUmVnZXggZmlsZU5hbWVNYXRjaFJlZ2V4ID0gbmV3IFJlZ2V4KEAiW2EtekEtWjAtOV0qKFwudHh0fFwucGRmfFwuZG9jeHxcLnR4dHxcLnhseCkiLCBSZWdleE9wdGlvbnMuSWdub3JlQ2FzZSk7CiAgICAgICAgICAgIE1hdGNoQ29sbGVjdGlvbiBtYXRjaFJlc3VsdCA9IGZpbGVOYW1lTWF0Y2hSZWdleC5NYXRjaGVzKGZpbGVOYW1lcyk7CiAgICAgICAgICAgIExpc3Q8c3RyaW5nPiBmaWxlTmFtZXNMaXN0ID0gbmV3IExpc3Q8c3RyaW5nPigpOwogICAgICAgICAgICBmb3JlYWNoIChNYXRjaCBpdGVtIGluIG1hdGNoUmVzdWx0KQogICAgICAgICAgICB7CiAgICAgICAgICAgICAgICBmaWxlTmFtZXNMaXN0LkFkZChpdGVtLlZhbHVlKTsKICAgICAgICAgICAgfQogICAgICAgICAgICBmaWxlTmFtZXNMaXN0ID0gZmlsZU5hbWVzTGlzdC5EaXN0aW5jdCgpLlRvTGlzdCgpOwogICAgICAgICAgICBDb25zb2xlLldyaXRlTGluZShzdHJpbmcuSm9pbigiOyIsIGZpbGVOYW1lc0xpc3QpKTsKICAgICAgICB9CiAgICB9Cn0K