Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- using System;
- using System.Text;
- using System.Text.RegularExpressions;
- namespace TextTransformer
- {
- class TextTransformer
- {
- static void Main(string[] args)
- {
- string input = Console.ReadLine();
- StringBuilder message = new StringBuilder();
- while (input != "burp")
- {
- message.Append(input);
- input = Console.ReadLine();
- }
- string newMessage = Regex.Replace(message.ToString(), @"\s+", " ");
- StringBuilder output = new StringBuilder();
- //Regex dollarRegex = new Regex(@"\$(.*?)\$");
- //Regex percentdRegex = new Regex(@"\%(.*?)\%");
- //Regex ampersandRegex = new Regex(@"\&(.*?)\&");
- //Regex quoteRegex = new Regex(@"\'(.*?)\'");
- for (int i = 0; i < newMessage.Length; i++)
- {
- char current = newMessage[i];
- switch (current)
- {
- case '$' :
- {
- int count = 0;
- string currentMessage = "";
- for (int j = i + 1; j < newMessage.Length; j++)
- {
- char curr = newMessage[j];
- if (curr == '$')
- {
- if (currentMessage != String.Empty)
- {
- output.Append(currentMessage);
- output.Append(" ");
- }
- i += count + 1;
- break;
- }
- if (count % 2 == 0)
- {
- curr = (char)(curr + 1);
- }
- else
- {
- curr = (char)(curr - 1);
- }
- count++;
- currentMessage += curr;
- }
- }
- break;
- case '%':
- {
- int count = 0;
- string currentMessage = "";
- for (int j = i + 1; j < newMessage.Length; j++)
- {
- char curr = newMessage[j];
- if (curr == '%')
- {
- if (currentMessage != String.Empty)
- {
- output.Append(currentMessage);
- output.Append(" ");
- }
- i += count + 1;
- break;
- }
- if (count % 2 == 0)
- {
- curr = (char)(curr + 2);
- }
- else
- {
- curr = (char)(curr - 2);
- }
- count++;
- currentMessage += curr;
- }
- }
- break;
- case '&':
- {
- int count = 0;
- string currentMessage = "";
- for (int j = i + 1; j < newMessage.Length; j++)
- {
- char curr = newMessage[j];
- if (curr == '&')
- {
- if (currentMessage != String.Empty)
- {
- output.Append(currentMessage);
- output.Append(" ");
- }
- i += count + 1;
- break;
- }
- if (count % 2 == 0)
- {
- curr = (char)(curr + 3);
- }
- else
- {
- curr = (char)(curr - 3);
- }
- count++;
- currentMessage += curr;
- }
- }
- break;
- case '\'' :
- {
- int count = 0;
- string currentMessage = "";
- for (int j = i + 1; j < newMessage.Length; j++)
- {
- char curr = newMessage[j];
- if (curr == '\'')
- {
- if (currentMessage != String.Empty)
- {
- output.Append(currentMessage);
- output.Append(" ");
- }
- i += count + 1;
- break;
- }
- if (count%2 == 0)
- {
- curr = (char)(curr + 4);
- }
- else
- {
- curr = (char)(curr - 4);
- }
- count++;
- currentMessage += curr;
- }
- }
- break;
- }
- }
- Console.WriteLine(output.ToString());
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement