Programming/C# - Window

C#/ 파일 읽기.쓰기와 Regex 사용

esoog Polaris 2023. 11. 28. 22:21
반응형
static void copyJob(string inputFilePath, string outputFilePath)
{
    using (StreamReader reader = new StreamReader(inputFilePath, Encoding.Default))
    using (StreamWriter writer = new StreamWriter(outputFilePath, false, Encoding.UTF8))
    {
        while (!reader.EndOfStream)
        {
            string line = reader.ReadLine();
            string cleanedLine = removeSpecialChars(line);
            writer.WriteLine(cleanedLine);
        }
    }
}

static string removeSpecialChars(string input)
{
    // 행의 끝에 나타나는 특수문자 제거를 위한 정규 표현식
    string pattern = "[^a-zA-Z0-9+\\-가-힣]+$";

    // 1. 행 끝 특수문자 제거 작업
    string result = Regex.Replace(input, pattern, "");

    // 2. 콤마 앞의 공백을 없애서 붙여주는 작업
    result = Regex.Replace(result, @"\s*,\s*", ",");
    
    // 3. 글자 사이의 두 칸 이상의 공백을 한 칸으로 변경 작업
    result = Regex.Replace(result, @"\s{2,}", " ");

    return result;
}
728x90