[CS] 문자열 다루기
in 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"));
}
}
}
문자열 변형하기
아래 표는 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());
}
}
}
문자열 분할하기
아래 표는 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);
}
}
}