C# – Tips for String
In this post, we will see some interesting methods to use with String.
HOW TO REVERSE A STRING
public static string ReverseWord(string strInput) { StringBuilder resultStr = new StringBuilder(); int startI = strInput.Length - 1; for (int i = startI; i >= 0; i--) { resultStr.Append(strInput[i]); } return resultStr.ToString(); } static void Main(string[] args) { string strInput = "Damiano Abballe"; Console.WriteLine(strInput); Console.WriteLine(ReverseWord(strInput)); }

HOW TO REVERSE THE ORDER OF WORDS IN A GIVEN STRING
public static string ReverseString(string strInput) { StringBuilder resultStr = new StringBuilder(); var arrayInput = strInput.Split(' '); int startI = arrayInput.Length - 1; for (int i = startI; i >= 0; i--) { resultStr.Append($"{arrayInput[i]} "); } return resultStr.ToString().Trim(); } static void Main(string[] args) { string strInput = "Welcome to my blog"; Console.WriteLine(strInput); Console.WriteLine(ReverseString(strInput)); }

HOW TO COUNT THE OCCURRENCE OF EACH CHARACTER IN A STRING
public static void CountCharacters(string strInput) { // With a Regular Expressions, we will remove all space strInput = Regex.Replace(strInput.ToUpper(), @"\s+", ""); var countChar = new Dictionary<char, int>(); int endI = strInput.Length - 1; int oldCount = 1; for (int i = 0; i <= endI; i++) { if (countChar.ContainsKey(strInput[i])) { oldCount = countChar[strInput[i]]; countChar[strInput[i]] = oldCount + 1; } else { countChar.Add(strInput[i], 1); } } // Display the Counter for (int i = 0; i < countChar.Count; i++) { Console.WriteLine($"Character: {countChar.ElementAt(i).Key}, Count: {countChar.ElementAt(i).Value}"); } } static void Main(string[] args) { string strInput = "hello world"; CountCharacters(strInput); }

HOW TO FIND ALL POSSIBLE SUBSTRING OF A GIVEN STRING
public static void FindSubstring(string strInput) { int currentStart = 0; int endI = strInput.Length - 1; int endSubstring = 1; StringBuilder result = new StringBuilder(); while (currentStart <= strInput.Length - 1) { for (int i = currentStart; i <= endI; i++) { result.Append($"{strInput.Substring(currentStart, endSubstring)},"); endSubstring++; } endSubstring = 1; currentStart++; } Console.WriteLine(result.ToString()); } static void Main(string[] args) { string strInput = "abcd"; Console.WriteLine(strInput); FindSubstring(strInput); }

HOW TO REMOVE DUPLICATE CHARACTERS FROM A STRING
public static void RemoveDuplicareCharacters(string inputString) { StringBuilder result = new StringBuilder(); HashSet<char> noDuplicate = new HashSet<char>(); foreach (char item in inputString) { if (noDuplicate.Add(item)) { result.Append(item); } } Console.WriteLine(result.ToString()); } static void Main(string[] args) { string inputStr = "Coffee"; Console.WriteLine(inputStr); RemoveDuplicareCharacters(inputStr); }
