■ String 클래스를 사용해 다중 공백 문자열을 단일 공백 문자열로 대체하는 방법을 보여준다.
▶ StringExtension.cs
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 42 43 44 45 46 47 48 49 50 51 52 |
using System.Text; namespace TestProject; /// <summary> /// 문자열 확장 /// </summary> public static class StringExtension { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Public #region 공백 줄이기 - ReduceWhitespace(source) /// <summary> /// 공백 줄이기 /// </summary> /// <param name="source">소스 문자열</param> /// <returns>공백 줄인 문자열</returns> public static string ReduceWhitespace(this string source) { StringBuilder stringBuilder = new StringBuilder(); bool isPreviousWhitespace = false; for(int i = 0; i < source.Length; i++) { if(char.IsWhiteSpace(source[i])) { if(isPreviousWhitespace) { continue; } isPreviousWhitespace = true; } else { isPreviousWhitespace = false; } stringBuilder.Append(source[i]); } return stringBuilder.ToString(); } #endregion } |
▶ Program.cs
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 |
namespace TestProject; /// <summary> /// 프로그램 /// </summary> class Program { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private #region 프로그램 시작하기 - Main() /// <summary> /// 프로그램 시작하기 /// </summary> private static void Main() { string source = "테스트1 테스트2\r\n 테스트3 테스트4"; string target = source.ReduceWhitespace(); Console.WriteLine("소스 문자열"); Console.WriteLine("--------------------------------------------------"); Console.WriteLine(source); Console.WriteLine("--------------------------------------------------"); Console.WriteLine(); Console.WriteLine("타겟 문자열"); Console.WriteLine("--------------------------------------------------"); Console.WriteLine(target); Console.WriteLine("--------------------------------------------------"); } #endregion } |