프로그래밍 관련/웹

[Visual C#] 문자열의 내용을 검색하거나 조작하는 방법

AlrepondTech 2020. 9. 15. 13:56
반응형

 

 

 

 

 

=================================

=================================

=================================

 

 

 

 

 

[Visual C#] 문자열의 내용을 검색하거나 조작하는 방법  C Sharp / IT Skills    
2010/10/06 16:25
 http://netrance.blog.me/110095091966 

string 클래스는 문자열과 관련된 수많은 메소드들을 가지고 있습니다. 이들의 목적은 문자열의 내용을 검색하거나 조작하기 위함입니다. 이번 포스트에서는 string의 메소드들을 정리해보았습니다. 단순히 나열하기 보다는 무엇을 하고 싶다는 것을 기준으로 필요할 때 찾아 볼 수 있도록 하였습니다.

원하는 작업 string이 제공하는 필드 또는 메소드 사용 예 출력 결과
알파벳 문자들을 대문자로 바꾼다. string ToUpper() string str = "Super Star";
str = str.ToUpper();

Console.WriteLine(str);
SUPER STAR
알파벳 문자들을 소문자로 바꾼다. string ToLower() string str = "Super Star";
str = str.ToLower();

Console.WriteLine(str);
super star
문자열의 일부를 제거한다. string Remove(int startIndex) string str = "Super Star";
str = str.Remove(5);
Console.WriteLine(str);
Super
string Remove(
    int startIndex,
    int count)
string str = "Super Star";
str = str.Remove(5, 3);
Console.WriteLine(str);
Superar
문자열의 양끝에 있는 공백을 제거한다. string Trim() string str = "   Super Star   ";
str = str.Trim();
Console.WriteLine(str);
Super Star
문자열 앞부분의 공백들을 제거한다. string TrimStart() string str = "   Super Star   ";
str = str.TrimStart();
Console.WriteLine(str);
Super Star  
(오른쪽 끝에 공백은 존재)
문자열의 일부를 구한다. string Substring(int startIndex) string str = "Super Star";
str = str.Substring(6);
Console.WriteLine(str);
Star
string Substring(
    int startIndex,
    int length)
string str = "Super Star";
str = str.Substring(2, 3);
Console.WriteLine(str);
per
문자열을 삽입한다. string Insert(
    int startIndex,
    string value)
string str = "Super Star";
str = str.Insert(6, "Real ");
Console.WriteLine(str);
Super Real Star
찾고자 하는 문자열이 있는지 검색한다. bool Contains(string value) string str = "Super Star of the World";
bool isThereWord = str.Contains("Star");
Console.WriteLine(isThereWord);
True
문자열의 길이를 알고 싶다. int Length string str = "Super Star";
Console.WriteLine(str.Length);
10
특정 문자를 기준으로 문자열들을 분리하고 싶다. string[] Split(params char[] separator) Char[] delimiters = { ' ', ',', '.' };
string sentence = "There are dogs, cats and pigs. Sheeps are not here.";
string[] wordsSplit = sentence.Split(delimiters);



Console.WriteLine("The words split:");
for (int i = 0; i < wordsSplit.Length; i++)
    Console.WriteLine(wordsSplit[i]);
The words split:
There
are
dogs


cats
and
pigs


Sheeps
are
not
here


string[] Split(
    char[] separator,
    int count)
Char[] delimiters = { ' ', ',', '.' };
string sentence = "There are dogs, cats and pigs. Sheeps are not here.";
string[] wordsSplit = sentence.Split(delimiters, 7);



Console.WriteLine("The words split:");
for (int i = 0; i < wordsSplit.Length; i++)
    Console.WriteLine(wordsSplit[i]);
The words split:
There
are
dogs


cats
and
pigs. Sheeps are not here.
string[] Split(
    char[] separator,
    StringSplitOptions options)
Char[] delimiters = { ' ', ',', '.' };
string sentence = "There are dogs, cats and pigs. Sheeps are not here.";
string[] wordsSplit = sentence.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);



Console.WriteLine("The words split:");
for (int i = 0; i < wordsSplit.Length; i++)
    Console.WriteLine(wordsSplit[i]);
The words split:
There
are
dogs
cats
and
pigs
Sheeps
are
not
here
string[] Split(
    string[] separator,
    StringSplitOptions options)
string[] delimiters = {"is", "are", "and", " " , ".", "," };
string sentence = "There are dogs, cats and pigs. Sheeps are not here.";
string[] wordsSplit = sentence.Split(delimiters, StringSplitOptions.RemoveEmptyEntries);



Console.WriteLine("The words split:");
for (int i = 0; i < wordsSplit.Length; i++)
    Console.WriteLine(wordsSplit[i]);
The words split:
There
dogs
cats
pigs
Sheeps
not
here
string[] Split(
    char[] separator,
    int count,
    StringSplitOptions options)
Char[] delimiters = { ' ', ',', '.' };
string sentence = "There are dogs, cats and pigs. Sheeps are not here.";
string[] wordsSplit = sentence.Split(delimiters, 7, StringSplitOptions.RemoveEmptyEntries);



Console.WriteLine("The words split:");
for (int i = 0; i < wordsSplit.Length; i++)
    Console.WriteLine(wordsSplit[i]);
The words split:
There
are
dogs
cats
and
pigs
Sheeps are not here.
string[] Split(
    string[] separator,
    int count,
    StringSplitOptions options)
string[] delimiters = {"is", "are", "and", " " , ".", "," };
string sentence = "There are dogs, cats and pigs. Sheeps are not here.";
string[] wordsSplit = sentence.Split(delimiters, 5, StringSplitOptions.RemoveEmptyEntries);



Console.WriteLine("The words split:");
for (int i = 0; i < wordsSplit.Length; i++)
    Console.WriteLine(wordsSplit[i]);
The words split:
There
dogs
cats
pigs
Sheeps are not here.
문자열을 char형 배열로 바꾸고 싶다. char[] ToCharArray() string str = "Super Star";
char[] chars = str.ToCharArray();

Console.WriteLine(chars);
Super Star
char형 배열을 문자열로 바꾸고 싶다. string(char[] value)
(string의 생성자 중 하나)
char[] chars = new char[] {'S', 'u', 'p', 'e', 'r', ' ', 'S', 't', 'a', 'r'};
string str = new string(chars);
Console.WriteLine(chars);
Super Star
기존 문자열의 왼쪽에 공백을 채워 새로운 문자열을 만들고 싶다. string PadLeft(int totalWidth) string str = "Super Star";
str = str.PadLeft(15);
Console.WriteLine(str);
     Super Star
기존 문자열의 오른쪽에 공백을 채워 새로운 문자열을 만들고 싶다. string PadRight(int totalWidth) string str = "Super Star";
str = str.PadRight(15);
Console.WriteLine(str);
Super Star    
(참고: Star의 오른쪽에 공백이 5개)
문자열의 왼쪽에 특정 문자로 채우고 싶다. string PadLeft(
    int totalWidth,
    char paddingChar)
string str = "Super Star";
str = str.PadLeft(15, '.');
Console.WriteLine(str);
.....Super Star
문자열의 오른쪽에 특정 문자로 채우고 싶다. string PadRight(
    int totalWidth,
    char paddingChar)
string str = "Super Star";
str = str.PadRight(15, '.');
Console.WriteLine(str);
Super Star.....
문자열의 일부를 다른 것으로 대체하고 싶다. string Replace(
    char oldChar,
    char newChar)
string phoneNumber = "010-2345-6789";
phoneNumber = phoneNumber.Replace('-', ' ');
Console.WriteLine(phoneNumber);
010 2345 6789
string Replace(
    string oldValue,
    string newValue)
string phoneNumber = "010-2345-6789";
phoneNumber = phoneNumber.Replace("010", "070");
Console.WriteLine(phoneNumber);
070-2345-6789
검색하고자 하는 내용이 문자열에 있다면, 최초의 위치가 어디인지 알고 싶다. int IndexOf(char value) string sentence = "What a wonderful world!";
int index = sentence.IndexOf('a');
Console.WriteLine(index);
2
int IndexOf(string value) string sentence = "What a wonderful world!";int index = sentence.IndexOf("won");
Console.WriteLine(index);
7
int IndexOf(
    char value,
    int startIndex)
string sentence = "What a wonderful world!";int index = sentence.IndexOf('a', 3);
Console.WriteLine(index);
5
int IndexOf(
    string value,
    int startIndex)
string sentence = "What a wonderful world!";int index = sentence.IndexOf("wo", 10);
Console.WriteLine(index);
17
int IndexOf(
    char value,
    int startIndex,
    int count)
string sentence = "What a wonderful world!";
int index = sentence.IndexOf('a', 3, 10);
Console.WriteLine(index);
5
int IndexOf(
    string value,
    int startIndex,
    int count)
string sentence
    = "One little, two little, three little indians";
int index = sentence.IndexOf("little", 7, 15);
Console.WriteLine(index);
16
두 문자열의 내용이 같은지 알고 싶다. 다를 경우 사전 순서로 어떤 것이 먼저인지 알고 싶다. int compareTo(string strB) string name = "Park";
Console.WriteLine(name.CompareTo("Lee"));
Console.WriteLine(name.CompareTo("Park"));
Console.WriteLine(name.CompareTo("Song"));
1
0
-1

출처: http://blog.naver.com/netrance/110095091966

 

 

 

=================================

=================================

=================================

 

 

 

 

반응형