ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • C# 문자열을 열 글자씩 쪼개기, 문자열 자르기
    프로그래밍/C# 2019. 6. 19. 17:17

    텍스트박스나 문자열에 줄바꿈없이 문자들이 나열되어 있을 때 줄바꿈을 주기위해 몇 글자마다 줄바꿈을 줄 것인지에 대한 방법이다. 예시 코드에는 10글자마다 줄바꿈을 주었다.

            private void button1_Click(object sender, EventArgs e)
            {
                string strings = textBox5.Text;

                int indexStart = 0;  // 시작 위치
                int indexEnd = 0;   // 종료 위치
                int iSplit = 11;       // 몇 글자씩 쪼갤 것인지 + 1 (문자열을 10글자씩 쪼갤 때 = 11)
                int totalLength = strings.Length;    // 문자열 길이
                int forCount = totalLength / iSplit; // 글자를 몇 번 쪼개야 하는지 갯수

                for (int i = 0; i < forCount + 1; i++)
                {
                    // 남은 글자수가 iSplit 개수보다 작을 경우 
                    if (totalLength < indexStart + iSplit)
                    {
                        indexEnd = totalLength - indexStart;
                    }
                    // 남은 글자수가 iSplit 개수보다 클 경우, iSplit 개수에서 맨 뒤에 자리 인덱스 추출
                    else
                    {
                        indexEnd = strings.Substring(indexStart, iSplit).LastIndexOf("");
                    }

                    // 커팅할 글자의 시작과 종료를 지정하여 데이터를 추출하고 라벨에 한 줄씩 나오게 한다.
                    label1.Text += strings.Substring(indexStart, indexEnd) + "\r\n";
                    
                    // 그 다음 글자의 시작위치를 지정한다. 
                    indexStart += indexEnd ;
                }

                // 마지막 글자에 \r\n 삭제
                label1.Text = label1.Text.Substring(0, label1.Text.Length - 4);
                
            }

    텍스트박스의 문자열을 10글자씩 잘라서 줄바꿈을 추가한 다음에 라벨에 출력

     


    이 것을 응용하면 필요에 따라 문자열을 원하는 글자수만큼 잘라서 쓸 수 있다.

    댓글 2

    • 푸딩 2020.08.15 06:55

      c# 공부 어떻게 하셨나요?? 도움 받은 책이나 강의 알고 싶습니다.

      • 자유곰 2020.08.28 16:28 신고

        기초개념에 대한 부분은 C# 에센스를 읽으며 다져나갔고, 그 외 필요한 기술 및 지식적인 부분은 C# 코딩의 기술(기본편, 실전편), 고성능 .NET 코드프로그래밍, 제프리리처의 CLR via C#, C# 멀티스레드 프로그래밍 등등 그때그때마다 필요한 기술에 대해 서술한 게 있는 책을 읽었습니다. 책을 통해 알 수 없는 것들은 구글링했습니다.

Designed by Tistory.