Advertisement
Guest User

REGEX

a guest
Jul 22nd, 2019
145
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.98 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.  
  7. namespace _2.Emoji_Sumator
  8. {
  9. class Program
  10. {
  11. static void Main(string[] args)
  12. {
  13. string theText = Console.ReadLine();
  14. var emojiCode = Console.ReadLine().Split(':').Select(int.Parse).ToList();
  15. var myRegEx = new Regex(@" (:[a-z]{4,}:)[,.?! ]");
  16. var listOfEmojis = new List<string>();
  17. int totalEmojiPoints = 0;
  18. var isMatch = myRegEx.IsMatch(theText);
  19. StringBuilder newStrBuild = new StringBuilder();
  20. for (int i = 0; i < emojiCode.Count; i++)
  21. {
  22. newStrBuild.Append((char)emojiCode[i]);
  23. }
  24.  
  25. if (isMatch)
  26. {
  27. var matches = myRegEx.Matches(theText);
  28. foreach (Match emojis in matches)
  29. {
  30. listOfEmojis.Add(emojis.Groups[1].Value);
  31. }
  32. for (int i = 0; i < listOfEmojis.Count; i++)
  33. {
  34. string theEmoji = listOfEmojis[i];
  35. for (int k = 0; k < theEmoji.Length; k++)
  36. {
  37. if (char.IsLetter(theEmoji[k]))
  38. {
  39. totalEmojiPoints += (int)theEmoji[k];
  40. }
  41. }
  42.  
  43. }
  44. }
  45. for (int i = 0; i < listOfEmojis.Count; i++)
  46. {
  47. if (listOfEmojis[i].Contains(newStrBuild.ToString()))
  48. {
  49. totalEmojiPoints *= 2;
  50. break;
  51. }
  52. }
  53. if (listOfEmojis.Count > 0)
  54. {
  55. Console.WriteLine("Emojis found: " + string.Join(", ", listOfEmojis));
  56. }
  57.  
  58. Console.WriteLine($"Total Emoji Power: {totalEmojiPoints}");
  59.  
  60. }
  61. }
  62. }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement