[CS] 문자열 다루기



문자열 안에서 찾기

아래는 string형식에서 제공하는 탐색 메소드의 종류 와 역할이다.

메소드설명
IndexOf()현재 문자열 내에서 찾고자 하는 지정된 문자 또는 문자열의 위치를 찾는다.
LastIndexOf()현재 문자열 내에서 찾고자 하는 지정된 문자 또는 문자열의 위치를 뒤에서부터 찾는다.
StartsWith()현재 문자열이 지정된 문자열로 시작하는지 평가한다.
EndsWith()현재 문자열이 지정된 문자열로 끝나는지 평가한다.
Contains현재 문자열이 지정된 문자열을 포함하는지 평가한다.
Replace()현재 문자열에서 지정된 문자열이 다른 지정된 문자열로 모두 바뀐 새 문자열을 반환한다.

아래 예제는 위 표에 있는 메소드를 전부 사용한 에제이다.

using System;

namespace ConsoleApp6
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string greeting = "Good Morning";

            Console.WriteLine(greeting);
            Console.WriteLine();

            // IndexOf()
            Console.WriteLine("IndexOf 'Good' : {0}",greeting.IndexOf("Good"));
            Console.WriteLine("IndexOf 'o' : {0}",greeting.IndexOf('o'));

            // LastIndexOf()
            Console.WriteLine("LastIndexOf 'Good' : {0}", greeting.LastIndexOf("Good"));
            Console.WriteLine("LastIndexOf 'o' : {0}", greeting.LastIndexOf('o'));

            // StartsWith()
            Console.WriteLine("StartsWith 'Good' : {0}", greeting.StartsWith("Good"));
            Console.WriteLine("StartsWith 'Morning' : {0}", greeting.StartsWith("Morning"));

            // EndsWith()
            Console.WriteLine("EndsWith 'Evening' : {0}", greeting.EndsWith("Evening"));
            Console.WriteLine("EndsWith 'Morning' : {0}", greeting.EndsWith("Morning"));

            // Contains()
            Console.WriteLine("Contains 'Evening' : {0}", greeting.Contains("Evening"));
            Console.WriteLine("Contains 'Morning' : {0}", greeting.Contains("Morning"));

            // Replace()
            Console.WriteLine("Replaced 'Morning' with 'Evening' : {0}", greeting.Replace("Morning","Evening"));
        }
    }
}

image

문자열 변형하기

아래 표는 string형식이 제공하는 문자열 변형 기능 관련 메소드들이다.

메소드설명
ToLower()현재 문자열의 모든 대문자를 소문자로 바꾼 새 문자열을 반환한다.
ToUpper()현재 문자열의 모든 소문자를 대문자로 바꾼 새 문자열을 반환한다.
Insert()현재 문자열의 지정된 위치에 지정된 문자열이 삽입된 새 문자열을 반환한다.
Remove()현재 문자열의 지정된 위치로부터 지정된 수만큼의 문자가 삭제된 새 문자열을 반환한다.
Trim()현재 문자열의 앞/뒤에 있는 공백을 삭제한 새 문자열을 반환한다.
TrimStart()현재 문자열의 앞에 있는 공백을 삭제한 새 문자열을 반환한다.
TrimEnd()현재 문자열의 뒤에 있는 공백을 삭제한 새 문자열을 반환한다.

아래 예제는 위의 표에 있는 메소드를 사용하는 예제이다.

using System;

namespace ConsoleApp6
{
    internal class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("ToLower() : '{0}'", "ABC".ToLower());
            Console.WriteLine("ToUpper() : '{0}'", "abc".ToUpper());

            Console.WriteLine("Insert() : '{0}","Happy Friday!".Insert(5, " Sunny"));
            Console.WriteLine("Remove() : '{0}'", "I Don't Love You".Remove(2, 6));

            Console.WriteLine("Trim() : '{0}'"," No Spaces ".Trim());
            Console.WriteLine("TrimStart() : '{0}'", " No Spaces ".TrimStart());
            Console.WriteLine("TrimEnd() : '{0}'", " No Spaces ".TrimEnd());
        }
    }
}

image

문자열 분할하기

아래 표는 string형식이 제공하는 문자열 분할 기능을 수행하는 Split() 메소드와 SubString() 메소드이다.

메소드설명
Split()현재 문자열을 지정된 문자를 기준으로 분리한 문자열의 배열을 반환한다.
SubString()현재 문자열의 지정된 위치로부터 지정된 수만큼의 문자로 이루어진 새 문자열을 반환한다.

아래 예제는 위 표의 메소드를 활용한 예제이다.

using System;

namespace ConsoleApp6
{
    internal class Program
    {
        static void Main(string[] args)
        {
            string greeting = "Good morning";

            Console.WriteLine(greeting.Substring(0,5));     // "Good"
            Console.WriteLine(greeting.Substring(5));        // "morning"
            Console.WriteLine();

            string[] arr = greeting.Split(new string[] { " " }, StringSplitOptions.None);
            Console.WriteLine("Word Count : {0}",arr.Length);

            foreach(string element in arr)
                Console.WriteLine(element);
        }
    }
}

image-20220402172155075




© 2022. by KSC

Powered by sora