순서 변경하기 소스코드 (첫 째 줄, 둘 째 줄 바꾸기) (C#)

구글 가사가 영어로 된 것을 한국어로 번역하니, 한글이 먼저 오고, 영어가 나중에 오는 형식으로 번역이 되는 것을 확인하였습니다.

보통 해석을 하고 싶을 때에는 원어가 먼저 오는 것이 익숙한지라 순서를 변경하고 싶네요. 그리하여 간단히 프로그램을 만들어보았습니다.

순서 변경하기 소스코드

다음 코드는 '조쉬 그로반 유 레이즈 미 업 가사'를 한국어로 번역하였을 때 결과를 뒤집어서 순서를 다시 변경하는 방법입니다.

void BeomSang()
{
    try
    {
        StringBuilder s = new StringBuilder();
        string pathA = $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\test.txt";
        int cnt = 0;
        string line = string.Empty;
        string rtn = string.Empty;
        string prev = string.Empty;
        string next = string.Empty;
        using (StreamReader sr = new StreamReader(pathA))
        {
            while ((line = sr.ReadLine()) != null)
            {
                cnt++;

                if (line.Trim() == string.Empty)
                {
                    prev = string.Empty;
                    next = string.Empty;
                    s.Append(Environment.NewLine);
                    continue;
                }

                if (prev == string.Empty)
                {
                    prev = line;
                    continue;
                }

                next = line;

                if (cnt > 2)
                    s.Append(Environment.NewLine);

                s.Append(next).Append(Environment.NewLine).Append(prev);

                prev = string.Empty;
                next = string.Empty;
            }
        }
        if (cnt > 0)
        {
            rtn = s.ToString();
            Clipboard.SetText(rtn);
            txtOut.Text = rtn;
        }
    }
    catch (Exception ex)
    {
        txtErr.Text = ex.Message;
    }
}

소스코드 해석

string pathA = $"{Environment.GetFolderPath(Environment.SpecialFolder.Desktop)}\\test.txt"; 을 통해 바탕화면에 있는 test.txt 파일을 읽어오도록 하겠습니다. 필요에 따라 클립보드 등을 확인하도록 보완할 수도 있을 것입니다.

1차. 메모장의 텍스트를 읽어내려가며, 우선 공백여부를 확인하여, 공백인 경우, 이전 및 이후 변수를 초기화하겠습니다.

2차. 먼저 prev 값에 이전 값을 할당하겠습니다.

3차. 다음 줄로 내려가서 next 값에 이후 값을 할당합니다.

4차. 2번보다 크게 읽은 경우, 이전값과 이후값을 각 변수가 가지고 있을 것입니다. 이때 라인피드를 추가하겠습니다.

5차. 이후 값을 먼저 입력, 그리고 라인피드, 그리고 이전 값을 나중에 입력하여 순서를 변경하겠습니다.

6차. 이전 값과 이후 값을 초기화 하고 다시 반복합니다.

순서 변경하기 (바꾸기) 예시

변경 예시자료입니다. 다음은 변경 이전, 유 레이즈 미 업 가사입니다.

내가 우울할 때, 오 내 영혼이 너무 지쳤을 때
When I am down and, oh my soul, so weary

어려움이 닥쳐 마음이 부담스러울 때
When troubles come and my heart burdened be

그러면 나는 가만히 서서 고요함 속에서 기다리고 있다
Then, I am still and wait here in the silence

당신이 와서 나와 함께 잠시 앉아 있을 때까지.
Until You come and sit awhile with me.
나를 일으키시어 산 위에 설 수 있게 하소서
You raise me up, so I can stand on mountains

당신은 나를 일으켜 폭풍우가 치는 바다 위를 걸을 수 있게 해주세요
You raise me up, to walk on stormy seas

나는 강하다, 내가 당신의 어깨 위에 있을 때
I am strong, when I am on your shoulders

당신은 나를 내가 할 수 있는 것보다 더 높게 키워주네요
You raise me up to more than I can be
나를 일으키시어 산 위에 설 수 있게 하소서
You raise me up, so I can stand on mountains

당신은 나를 일으켜 폭풍우가 치는 바다 위를 걸을 수 있게 해주세요
You raise me up, to walk on stormy seas

나는 강하다, 내가 당신의 어깨 위에 있을 때
I am strong, when I am on your shoulders

당신은 나를 내가 할 수 있는 것 이상으로 키워줍니다.
You raise me up to more than I can be.
나를 일으키시어 산 위에 설 수 있게 하소서
You raise me up, so I can stand on mountains

당신은 나를 일으켜 폭풍우가 치는 바다 위를 걸을 수 있게 해주세요
You raise me up, to walk on stormy seas

나는 강하다, 내가 당신의 어깨 위에 있을 때
I am strong, when I am on your shoulders

당신은 나를 내가 할 수 있는 것 이상으로 키워줍니다.
You raise me up to more than I can be.
나를 일으키시어 산 위에 설 수 있게 하소서
You raise me up, so I can stand on mountains

당신은 나를 일으켜 폭풍우가 치는 바다 위를 걸을 수 있게 해주세요
You raise me up, to walk on stormy seas

나는 강하다, 내가 당신의 어깨 위에 있을 때
I am strong, when I am on your shoulders

당신은 나를 내가 할 수 있는 것 이상으로 키워줍니다.
You raise me up to more than I can be.
당신은 나를 내가 할 수 있는 것 이상으로 키워줍니다.
You raise me up to more than I can be.

다음은 변경 이후, 유 레이즈 미 업 가사입니다.

When I am down and, oh my soul, so weary
내가 우울할 때, 오 내 영혼이 너무 지쳤을 때

When troubles come and my heart burdened be
어려움이 닥쳐 마음이 부담스러울 때

Then, I am still and wait here in the silence
그러면 나는 가만히 서서 고요함 속에서 기다리고 있다

Until You come and sit awhile with me.
당신이 와서 나와 함께 잠시 앉아 있을 때까지.
You raise me up, so I can stand on mountains
나를 일으키시어 산 위에 설 수 있게 하소서

You raise me up, to walk on stormy seas
당신은 나를 일으켜 폭풍우가 치는 바다 위를 걸을 수 있게 해주세요

I am strong, when I am on your shoulders
나는 강하다, 내가 당신의 어깨 위에 있을 때

You raise me up to more than I can be
당신은 나를 내가 할 수 있는 것보다 더 높게 키워주네요
You raise me up, so I can stand on mountains
나를 일으키시어 산 위에 설 수 있게 하소서

You raise me up, to walk on stormy seas
당신은 나를 일으켜 폭풍우가 치는 바다 위를 걸을 수 있게 해주세요

I am strong, when I am on your shoulders
나는 강하다, 내가 당신의 어깨 위에 있을 때

You raise me up to more than I can be.
당신은 나를 내가 할 수 있는 것 이상으로 키워줍니다.
You raise me up, so I can stand on mountains
나를 일으키시어 산 위에 설 수 있게 하소서

You raise me up, to walk on stormy seas
당신은 나를 일으켜 폭풍우가 치는 바다 위를 걸을 수 있게 해주세요

I am strong, when I am on your shoulders
나는 강하다, 내가 당신의 어깨 위에 있을 때

You raise me up to more than I can be.
당신은 나를 내가 할 수 있는 것 이상으로 키워줍니다.
You raise me up, so I can stand on mountains
나를 일으키시어 산 위에 설 수 있게 하소서

You raise me up, to walk on stormy seas
당신은 나를 일으켜 폭풍우가 치는 바다 위를 걸을 수 있게 해주세요

I am strong, when I am on your shoulders
나는 강하다, 내가 당신의 어깨 위에 있을 때

You raise me up to more than I can be.
당신은 나를 내가 할 수 있는 것 이상으로 키워줍니다.
You raise me up to more than I can be.
당신은 나를 내가 할 수 있는 것 이상으로 키워줍니다.
댓글 쓰기
가져가실 때, 출처 표시 부탁드려요! 감사합니다. 💗