더북(TheBook)

3. StringLibrary 클래스는 문자열의 길이를 잘라주는 유틸리티 메서드를 관리한다. 다음과 같이 작성한다. 두 메서드를 모두 확장 메서드로 만들었다.

▼  Dul 프로젝트의 StringLibrary.cs 클래스

namespace Dul
{
  public static class StringLibrary
  {
      /// <summary>
      /// 주어진 문자열을 주어진 길이만큼만 잘라서 반환. 나머지 부분은 ‘…‘을 붙임
      /// </summary>
      /// <param name=“strCut”>원본 문자열</param>
      /// <param name=“intChar”>잘라낼 길이</param>
      /// <returns>안녕하세요. => 안녕…</returns>
      public static string CutString(this string strCut, int intChar)
      {
          if (strCut.Length > (intChar - 3))
          {
              return strCut.Substring(0, intChar - 3) + ”…”;
          }
          return strCut;
      }
      
      /// <summary>
      /// 유니코드 이모티콘을 포함한 문자열 자르기
      /// </summary>
      /// <param name=“str”>한글, 영문, 유니코드 문자열</param>
      /// <param name=“length”>자를 문자열의 길이</param>
      /// <returns>잘라진 문자열</returns>
      public static string CutStringUnicode(this string str, int length)
      {
          string result = str;
          
          var si = new System.Globalization.StringInfo(str);
          var l = si.LengthInTextElements;
          
          if (l > (length - 3))
          {
              result = si.SubstringByTextElements(0, length - 3) + ”…”;
          }
          
          return result;
      }
  }
}

신간 소식 구독하기
뉴스레터에 가입하시고 이메일로 신간 소식을 받아 보세요.