개발을 하다 보면 쉼표로 구분된 문자열을 배열로 변환해야 할 때가 종종 있습니다. 특히 문자열이 작은따옴표(')로 감싸져 있다면 이를 정리하는 과정이 추가적으로 필요합니다.
오늘은 이러한 문자열을 배열로 변환하고, 작은따옴표를 제거하여 깔끔하게 처리하는 확장 메서드를 작성하고 사용하는 방법을 소개합니다.
해결하고자 하는 문제
예를 들어, 다음과 같은 문자열이 있다고 가정해 봅시다
"'BEOMSANG', 'HELLO', 'WORLD'"
이 문자열을 다음과 같은 배열로 변환하는 작업이 필요해요.
arr[0] = "BEOMSANG";
arr[1] = "HELLO";
arr[2] = "WORLD";
C# 메서드 작성하기 (확장)
처리하기 위해 확장 메서드를 활용해보았어요.
using System;
using System.Linq;
public static class StringExtensions
{
/// <summary>
/// 작은따옴표와 공백을 제거한 배열로 변환하는 확장 메서드
/// </summary>
/// <param name="input">쉼표로 구분된 입력 문자열</param>
/// <returns>가공된 배열</returns>
public static string[] ToCleanArray(this string input)
{
return input
.Split(',') // 쉼표로 문자열 분리
.Select(s => s.Trim().Trim('\'')) // 공백 및 작은따옴표 제거
.ToArray(); // 배열로 변환
}
}
class Program
{
static void Main()
{
string input = "'BEOMSANG', 'HELLO', 'WORLD'";
// 확장 메서드를 사용하여 문자열을 배열로 변환
string[] arr = input.ToCleanArray();
// 결과 출력
foreach (var item in arr)
{
Console.WriteLine(item);
}
}
}
코드 설명
- 확장 메서드의 정의
public static class StringExtensions를 통해 확장 메서드를 정의했습니다.ToCleanArray메서드는Split메서드로 쉼표(,)를 기준으로 문자열을 분리하고,Trim을 사용해 공백과 작은따옴표를 제거합니다.- 최종적으로
ToArray를 호출해 배열로 변환합니다.
- 입력 문자열 처리
- 입력 값:
"'BEOMSANG', 'HELLO', 'WORLD'". Split(',')로 쉼표를 기준으로 나눕니다.Trim().Trim('\'')로 각 요소에서 양끝의 공백과 작은따옴표를 제거합니다.
- 입력 값:
- 결과 출력
- 출력은 다음과 같습니다.
BEOMSANG HELLO WORLD
- 출력은 다음과 같습니다.
