Merge pull request #6 from PI20v/3-create-algorithm
Добавляет алгоритм извлечения адресов
This commit is contained in:
commit
bdd6fbd9c6
@ -46,6 +46,7 @@
|
||||
<Reference Include="System.Xml" />
|
||||
</ItemGroup>
|
||||
<ItemGroup>
|
||||
<Compile Include="ExtactEmailsAlgorithm.cs" />
|
||||
<Compile Include="MainForm.cs">
|
||||
<SubType>Form</SubType>
|
||||
</Compile>
|
||||
|
29
ExtactEmailsAlgorithm.cs
Normal file
29
ExtactEmailsAlgorithm.cs
Normal file
@ -0,0 +1,29 @@
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
using System.Text;
|
||||
using System.Threading.Tasks;
|
||||
using System.Text.RegularExpressions;
|
||||
|
||||
namespace AwesomeEmailExtractor
|
||||
{
|
||||
internal class ExtactEmailsAlgorithm
|
||||
{
|
||||
public static int Extract(string inputText, out List<string> uniqueEmails)
|
||||
{
|
||||
// Регулярное выражение для поиска почтовых адресов
|
||||
string pattern = @"\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b";
|
||||
|
||||
// Находим каждый почтовый адрес в тексте
|
||||
var matches = Regex.Matches(inputText, pattern, RegexOptions.IgnoreCase);
|
||||
|
||||
// Получаем количество найденных адресов
|
||||
int countMatches = matches.Count;
|
||||
|
||||
// Получаем уникальные почтовые адреса
|
||||
uniqueEmails = matches.Cast<Match>().Select(m => m.Value).Distinct().ToList();
|
||||
|
||||
return countMatches;
|
||||
}
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user