카테고리 없음

[C#]문자열 함수 SubString(), IndexOf(), LastIndexOf(), Split(), Replace(), Equals()

데브프로그라 2024. 2. 22. 21:48
반응형

● string SubString(int startIndex, int Length);

- startIndex : 문자열을 가져올 시작위치

- length : 가져올 문자열의 길이

 

- Sample

using System;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "Sample Test";
            string strValue = str.Substring(0, 6);
            Console.WriteLine(strValue);
        }
    }
}

결과 : Sample

 

 int IndexOf(string strSearchText)

- strSearchText : 찾고자하는 문자열 입력

- 반환(return) 값 

  -1 : 문자열 찾지 못함

   5 : 숫자 (문자열의 위치를 숫자로 반환)

 

using System;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "Sample Test";
            int index = str.IndexOf("Test");
            Console.WriteLine(index.ToString());

            Console.WriteLine(str.Substring(index));
        }
    }
}

 

결과 : 7

"Test"

 

 int LastIndexOf (string strSearchText)

- 문자열에서 strSearchText를 뒤에서 부터 찾는다.

- strSearchText : 찾고자하는 문자열 입력

- 반환(return) 값 

  -1 : 문자열 찾지 못함

   5 : 숫자 (문자열의 위치를 숫자로 반환)

 

using System;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "Sample Test Plan";
            int index = str.LastIndexOf("Test");
            Console.WriteLine(index.ToString());

            Console.WriteLine(str.Substring(index));
        }
    }
}

 

결과 : 7

" Test Plan"

● string[] Split(char[] separator)

- separator : 분리문자

 

using System;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "제품군|코드번호|자재번호";
            string[] strAr = str.Split('|');
            foreach (string strValue in strAr)
            {
                Console.WriteLine(strValue);
            }
        }
    }
}

 

결과:

제품군

코드번호

자재번호

 

● string Replace (char oldChar, char newChar)

- 문자열을 변환한다.

- oldChar : 바꿀 유니코드 문자

- newChar : oldChar를 바꿀 문자

 

using System;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "1 2 3 4 5 6 7 8 9";
           Console.WriteLine("Original string: \"{0}\"", str);
           Console.WriteLine("Trim string:      \"{0}\"", str.Replace('  ', ''));

           Console.WriteLine("CSV string:      \"{0}\"", str.Replace(' ', ','));
        }
    }
}

 

결과 1 : Original string: "1 2 3 4 5 6 7 8 9";  - 원 문자

결과 2 : Trim string: "123456789";  - 공백제거

결과 3 : CSV  string: "1,2,3,4,5,6,7,8,9";  - 공백을 , 로 치환

bool Equals (object? obj)

- 이 인스턴스와 지정한 개체의 값이 같은지를 확인한다. 이 개체도 string 개체여야 한다.

- true obj이고 이 인스턴스와 같은 값을 가지면 string이고, 그러지 않으면 false입니다. obj null이면 메서드에서 false을 반환한다.

 

using System;
namespace test
{
    class Program
    {
        static void Main(string[] args)
        {
         StringBuilder sb = new StringBuilder("abcd");
        String str1 = "abcd";
        String str2 = null;
        Object o2 = null;

        Console.WriteLine();
        Console.WriteLine(" *  The value of String str1 is '{0}'.", str1);
        Console.WriteLine(" *  The value of StringBuilder sb is '{0}'.", sb.ToString());

        Console.WriteLine();
        Console.WriteLine("1a) String.Equals(Object). Object is a StringBuilder, not a String.");
        Console.WriteLine("    Is str1 equal to sb?: {0}", str1.Equals(sb));

        Console.WriteLine();
        Console.WriteLine("1b) String.Equals(Object). Object is a String.");
        str2 = sb.ToString();
        o2 = str2;
        Console.WriteLine(" *  The value of Object o2 is '{0}'.", o2);
        Console.WriteLine("    Is str1 equal to o2?: {0}", str1.Equals(o2));

        Console.WriteLine();
        Console.WriteLine(" 2) String.Equals(String)");
        Console.WriteLine(" *  The value of String str2 is '{0}'.", str2);
        Console.WriteLine("    Is str1 equal to str2?: {0}", str1.Equals(str2));

        Console.WriteLine();
        Console.WriteLine(" 3) String.Equals(String, String)");
        Console.WriteLine("    Is str1 equal to str2?: {0}", String.Equals(str1, str2));

        }
    }
}

 

반응형