■ 공백 문자를 제거하는 방법을 보여준다.
▶ TestProject.csproj
1 2 3 4 5 6 7 8 9 10 11 |
<Project Sdk="Microsoft.NET.Sdk"> <PropertyGroup> <OutputType>Exe</OutputType> <TargetFramework>net6.0</TargetFramework> <ImplicitUsings>enable</ImplicitUsings> <Nullable>disable</Nullable> <AllowUnsafeBlocks>True</AllowUnsafeBlocks> </PropertyGroup> </Project> |
▶ 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 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 |
namespace TestProject; /// <summary> /// 프로그램 /// </summary> class Program { //////////////////////////////////////////////////////////////////////////////////////////////////// Method ////////////////////////////////////////////////////////////////////////////////////////// Static //////////////////////////////////////////////////////////////////////////////// Private #region 공백 문자 제거하기 - RemoveWhitespace(source) /// <summary> /// 공백 문자 제거하기 /// </summary> /// <param name="source">소스 문자열</param> /// <returns>공백 문자 제거 문자열</returns> private static unsafe string RemoveWhitespace(string source) { fixed(char* sourcePointer = source) { char* targetPointer = sourcePointer; for(char* pointer = sourcePointer; *pointer != 0; pointer++) { switch(*pointer) { case '\u0020' : case '\u00A0' : case '\u1680' : case '\u2000' : case '\u2001' : case '\u2002' : case '\u2003' : case '\u2004' : case '\u2005' : case '\u2006' : case '\u2007' : case '\u2008' : case '\u2009' : case '\u200A' : case '\u202F' : case '\u205F' : case '\u3000' : case '\u2028' : case '\u2029' : case '\u0009' : case '\u000A' : case '\u000B' : case '\u000C' : case '\u000D' : case '\u0085' : continue; default : *targetPointer++ = *pointer; break; } } return new string(sourcePointer, 0, (int)(targetPointer - sourcePointer)); } } #endregion #region 프로그램 시작하기 - Main() /// <summary> /// 프로그램 시작하기 /// </summary> [Obsolete] private static void Main() { string source = "넓은 벌 동쪽 끝으로\r\n옛이야기 지줄대는 실개천이 회돌아 나가고,\r\n얼룩백이 황소가\r\n해설피 금빛 게으른 울음을 우는 곳,\r\n"; string target = RemoveWhitespace(string.Copy(source)); Console.WriteLine(source); Console.WriteLine(target); /* 넓은 벌 동쪽 끝으로 옛이야기 지줄대는 실개천이 회돌아 나가고, 얼룩백이 황소가 해설피 금빛 게으른 울음을 우는 곳, 넓은벌동쪽끝으로옛이야기지줄대는실개천이회돌아나가고,얼룩백이황소가해설피금빛게으른울음을우는곳, */ } #endregion } |