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글자씩 잘라서 줄바꿈을 추가한 다음에 라벨에 출력

     


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

    반응형

    댓글

Designed by Tistory.