728x90
반응형
728x170
▶ Program.cs
namespace TestProject;
/// <summary>
/// 프로그램
/// </summary>
class Program
{
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region Field
/// <summary>
/// 룩업 테이블
/// </summary>
private static bool[] _lookupTable;
#endregion
//////////////////////////////////////////////////////////////////////////////////////////////////// Method
////////////////////////////////////////////////////////////////////////////////////////// Static
//////////////////////////////////////////////////////////////////////////////// Private
#region 룩업 테이블 초기화하기 - InitializeLookupTable()
/// <summary>
/// 룩업 테이블 초기화하기
/// </summary>
private static void InitializeLookupTable()
{
_lookupTable = new bool[65536];
for(char c = '0'; c <= '9'; c++)
{
_lookupTable[c] = true;
}
for(char c = 'A'; c <= 'Z'; c++)
{
_lookupTable[c] = true;
}
for(char c = 'a'; c <= 'z'; c++)
{
_lookupTable[c] = true;
}
_lookupTable['.'] = true;
_lookupTable['_'] = true;
}
#endregion
#region 특수 문자 제거하기 - RemoveSpecialCharacters(source)
/// <summary>
/// 특수 문자 제거하기
/// </summary>
/// <param name="source">소스 문자열</param>
/// <returns>특수 문자 제거 문자열</returns>
private static string RemoveSpecialCharacters(string source)
{
char[] targetCharacterArray = new char[source.Length];
int index = 0;
foreach(char sourceCharacter in source)
{
if(_lookupTable[sourceCharacter])
{
targetCharacterArray[index] = sourceCharacter;
index++;
}
}
return new string(targetCharacterArray, 0, index);
}
#endregion
#region 프로그램 시작하기 - Main()
/// <summary>
/// 프로그램 시작하기
/// </summary>
private static void Main()
{
InitializeLookupTable();
string source = "adbejwlfhtABEJDGWU1.312321*&^1()";
string target = RemoveSpecialCharacters(source);
Console.WriteLine($"특수 문자 제거 전 : {source}");
Console.WriteLine($"특수 문자 제거 후 : {target}");
}
#endregion
}
728x90
반응형
그리드형(광고전용)
'C# > Common' 카테고리의 다른 글
[C#/COMMON/.NET6] Environment 클래스 : GetEnvironmentVariable 정적 메소드를 사용해 Program Files (x86) 디렉토리 경로 구하기 (0) | 2022.06.20 |
---|---|
[C#/COMMON/.NET6] yield return 명령문을 사용해 바이트 배열 병합하기 (0) | 2022.06.20 |
[C#/COMMON/.NET6] Buffer 클래스 : BlockCopy 정적 메소드를 사용해 바이트 배열 병합하기 (0) | 2022.06.20 |
[C#/COMMON/.NET6] 특수 문자 제거하기 (0) | 2022.06.20 |
[C#/COMMON/.NET6] Regex 클래스 : Replace 정적 메소드를 사용해 특수 문자 제거하기 (0) | 2022.06.20 |
[C#/COMMON/.NET6] 특수 문자 제거하기 (0) | 2022.06.20 |
[C#/COMMON/.NET6] MailAddress 클래스 : E 메일 주소 여부 구하기 (0) | 2022.06.20 |
[C#/COMMON/.NET6] Buffer 클래스 : BlockCopy 정적 메소드를 사용해 인코딩 배제 문자열 바이트 배열 구하기 (0) | 2022.06.20 |
[C#/COMMON] MemoryMappedFile 클래스 : CreateFromFile 정적 메소드를 사용해 메모리 매핑 파일 만들기 (0) | 2022.05.25 |
[C#/COMMON] FileSystem 클래스 : CopyDirectory 정적 메소드를 사용해 디렉토리 복사하기 (0) | 2022.05.25 |
댓글을 달아 주세요