■ StringBuilder 클래스를 사용해 대소문자 구분없이 문자열을 대체하는 방법을 보여준다.
▶ StringBuilder 클래스 : 대소문자 구분없이 문자열 대체하기 예제 (C#)
1 2 3 4 5 6 |
string source = "Hello hello"; Console.WriteLine(ReplaceString(source, "hello", "morning", StringComparison.Ordinal )); Console.WriteLine(ReplaceString(source, "hello", "morning", StringComparison.OrdinalIgnoreCase)); |
▶ StringBuilder 클래스 : 대소문자 구분없이 문자열 대체하기 (C#)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 |
using System.Text; #region 문자열 대체하기 - ReplaceString(source, previousValue, newValue, comparison) /// <summary> /// 문자열 대체하기 /// </summary> /// <param name="source">소스 문자열</param> /// <param name="previousValue">이전 값</param> /// <param name="newValue">신규 값</param> /// <param name="comparison">문자열 비교 방법</param> /// <returns>대체 문자열</returns> public string ReplaceString(string source, string previousValue, string newValue, StringComparison comparison) { StringBuilder stringBuilder = new StringBuilder(); int previousIndex = 0; int index = source.IndexOf(previousValue, comparison); while(index != -1) { stringBuilder.Append(source.Substring(previousIndex, index - previousIndex)); stringBuilder.Append(newValue); index += previousValue.Length; previousIndex = index; index = source.IndexOf(previousValue, index, comparison); } stringBuilder.Append(source.Substring(previousIndex)); return stringBuilder.ToString(); } #endregion |