본문 바로가기
개발/C#

문자열 다루기

by 민돌이2 2019. 1. 31.

1.문자열 안에서 찾기

string형식을 원하는 부분을 찾아주는 기능

메소드 

설명 

IndexOf(a)

현재 문자열 내에서 a의 위치를 찾음

LastIndexOf(a)

현재 문자열 내에서 a의 위치를 뒤에서부터 찾음

StartsWith(a)

현재 문자열이 a로 시작하는지를 평가

EndsWith(a) 

현재 문자열이 a로 끝나는지를 평가

Contains(a)

현재 문자열이 a를 포함하는지를 평가

Replace(a,b)

현재 문자열에서 a를 b로 모둔 바뀐 새 문자열로 변환  


using System;

using static System.Console;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace PracticeCS {

    class Program {

        static void Main(string[] args) {

            string greeting = "Good Morning";

            //IndexOf()

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

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

            //LastIndexof()

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

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

            //StartWith()

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

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

            //EndsWith()

            WriteLine("EndsWith 'Good' : {0}", greeting.EndsWith("Good"));

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

            //Contains()

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

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

            //Replace()

            WriteLine("Replace 'Moring' with 'Evning' : {0}",

                greeting.Replace("Morning","Evening"));

        }

    }

}

 


2.문자열 변형하기

string 형식은 문자열 중간에 또 다른 문자열을 삽입하거나 특정 부분으르 삭제하는 등의 기능

메소드 

설명

a.ToLower( )

a문자열에서 모든 대문자를 소문자로 반환

a.ToUpper( )

a문자열에서 모든 소문자를 대문자로 반환

a.Insert(b,c)

a문자열에서 b부터 c의 문자를 삽입하여 반환

a.Remove(b,c)

a문자열에서 b부터 c까지 삭제하여 반환

a.Trim( )

앞/뒤에 있는 공백을 삭제하여 반환

a.TrimStart( )

앞에 있는 공백을 삭제하여 반환

a.TrimEnd( )

뒤에 있는 공백을 삭제하여 반환

using System;

using static System.Console;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace PracticeCS {

    class Program {

        static void Main(string[] args) {

            WriteLine("Lower() : '{0}'", "ABC".ToLower());

            WriteLine("Upper() : '{0}'", "ABC".ToUpper());

            WriteLine("Insert() : '{0}'", "I Love You".Insert(1," Don't"));//시작은 0부터

            WriteLine("Remove() : '{0}'", "I Don't Love you".Remove(2,6));

            // ' 은 세지않는듯 하다

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

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

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

        }

    }

 


3.문자열 분할하기

"MSFT, GOOG, AMZN, AAPL, RHT"와 같이 콤마( , ) 로 구분되어 있는 문자열은 콤마를 제외한 내용을 배열로 만들어줄 수 있다. 이때 Split( ) 메소드를 사용

콤마로 구분되어 있지 않을 때는 문자열 탐색을 이용하여 잘라낼 부분을 찾은 후 Substring( ) 메소드 사용

메소드

설명 

Split( )

지정된 문자를 기준으로 분리한 문자의 배열을 반환

SubString(a)

Substring(a,b)

a이후의 문자열을 반환

a부터 b만큼 문자열을 반환

using System;

using static System.Console;

using System.Collections.Generic;

using System.Linq;

using System.Text;

using System.Threading.Tasks;


namespace PracticeCS {

    class Program {

        static void Main(string[] args) {

            string greeting = "Good Morning";

            //Split()

            string[] arr = greeting.Split(new string[] { " " }, StringSplitOptions.None);

            WriteLine("Word Count : {0}", arr.Length);

            foreach (string element in arr)

                WriteLine("{0}", element);

            //SubString()

            WriteLine(greeting.Substring(5));

            WriteLine(greeting.Substring(0, 5));

        }

    }

}

 


728x90

'개발 > C#' 카테고리의 다른 글

문자열다루기2  (0) 2019.02.02
상수와 열거 형식  (0) 2019.01.30
[C#] 제네릭과 컬렉션  (0) 2018.11.29
[C#]형변환  (0) 2018.11.28
[C#]네임스페이스  (0) 2018.11.16

댓글