728x90
반응형
728x170
■ 공백 문자를 제거하는 방법을 보여준다.
▶ TestProject.csproj
<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
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
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON/.NET6] String 클래스 : 생성자를 사용해 반복 문자열 구하기 (0) | 2022.10.18 |
---|---|
[C#/COMMON/.NET6] 자연 정렬하기 (0) | 2022.10.15 |
[C#/COMMON/.NET6] 자연 정렬하기 (0) | 2022.10.15 |
[C#/COMMON/.NET6] 윈도우즈 실행 파일 형식(PE32/PE32+) 구하기 (0) | 2022.10.15 |
[C#/COMMON/.NET6] 프로젝트에서 UNSAFE 모드 설정하기 (0) | 2022.10.14 |
[C#/COMMON/.NET6] 공백 문자 제거하기 (0) | 2022.10.14 |
[C#/COMMON/.NET6] Char 구조체 : IsWhiteSpace 정적 메소드를 사용해 공백 문자 제거하기 (0) | 2022.10.14 |
[C#/COMMON/.NET6] String 클래스 : 공백 문자 제거하기 (0) | 2022.10.14 |
[C#/COMMON/.NET6] Char 구조체 : IsWhiteSpace 정적 메소드를 사용해 공백 문자 제거하기 (0) | 2022.10.14 |
[C#/COMMON/.NET6] Regex 클래스 : Replace 정적 메소드를 사용해 공백 문자 제거하기 (0) | 2022.10.14 |
댓글을 달아 주세요