Advertisement
Guest User

Regex - Exercises / 03. *Valid Usernames

a guest
Feb 18th, 2017
445
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
C# 1.61 KB | None | 0 0
  1. using System;
  2. using System.Collections.Generic;
  3. using System.Linq;
  4. using System.Text;
  5. using System.Text.RegularExpressions;
  6. using System.Threading.Tasks;
  7.  
  8. namespace _03.__Valid_Usernames
  9. {
  10.     public class ValidUsernames
  11.     {
  12.         public static void Main()
  13.         {
  14.             var splitSymbols = new char[]{' ', '\\', '/','(',')', '\t'};
  15.             var input = Console.ReadLine().Split(splitSymbols, StringSplitOptions.RemoveEmptyEntries);
  16.             var pattern = @"\b[a-zA-Z][a-zA-Z0-9_]{2,24}";
  17.             var regex = new Regex(pattern);
  18.  
  19.             var usernames = GetValidUsernames(input,regex);
  20.             var maxSum = int.MinValue;
  21.             var firstUsername = "";
  22.             var secondUsername = "";
  23.             for (int i = 1; i < usernames.Count; i++)
  24.             {
  25.                 var currentSum = usernames[i].Length +usernames[i-1].Length;
  26.  
  27.                 if (currentSum > maxSum)
  28.                 {
  29.                     maxSum = currentSum;
  30.                     firstUsername = usernames[i - 1];
  31.                     secondUsername = usernames[i];
  32.                 }
  33.             }
  34.  
  35.             Console.WriteLine(firstUsername);
  36.             Console.WriteLine(secondUsername);
  37.  
  38.         }
  39.  
  40.         private static List<string> GetValidUsernames(string[] input, Regex regex)
  41.         {
  42.             var usernames = new List<string>();
  43.             foreach (var username in input)
  44.             {
  45.                 if (regex.IsMatch(username))
  46.                 {
  47.                     usernames.Add(username);
  48.                 }
  49.             }
  50.             return usernames;
  51.         }
  52.     }
  53. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement