C#의 문자열에서 Substring 찾기
이 자습서에서는 C#에서 문자열 내 두 단어 사이의 텍스트를 추출하는 방법에 대해 설명합니다.
C#의 문자열에서 텍스트 추출
Hi, I am a string variable
과 같은 값을 가진 문자열 변수가 있고Hi
와string
사이의 텍스트를 찾으려면String.IndexOf()
메소드를 사용할 수 있습니다. 이 목표를 달성하기 위해String.SubString()
메소드와 함께 사용합니다.
String.IndexOf(x)
메소드는 문자열 내 특정 문자열x
의 색인을 가져옵니다. String.SubString(x, y)
메소드는 시작 색인x
및 종료 색인y
를 기반으로 하위 문자열을 추출합니다. String.IndexOf()
함수를 사용하여 기본 문자열 내에서 시작 및 끝 문자열의 인덱스를 가져올 수 있습니다. 그런 다음 두 단어의 인덱스를String.SubString()
함수에 전달하여 두 문자열 사이의 텍스트를 추출 할 수 있습니다. 다음 코드 예제는 C#에서String.IndexOf()
및String.SubString()
메소드를 사용하여 문자열에서 텍스트를 추출하는 방법을 보여줍니다.
using System;
namespace text_from_string {
class Program {
public static string stringBetween(string Source, string Start, string End) {
string result = "";
if (Source.Contains(Start) && Source.Contains(End)) {
int StartIndex = Source.IndexOf(Start, 0) + Start.Length;
int EndIndex = Source.IndexOf(End, StartIndex);
result = Source.Substring(StartIndex, EndIndex - StartIndex);
return result;
}
return result;
}
static void Main(string[] args) {
string s = "Hi, I am a string variable.";
string word1 = "Hi";
string word2 = "string";
string text = stringBetween(s, word1, word2);
Console.WriteLine(text);
}
}
}
출력:
, I am a
위의 코드에서 우리는 메인 문자열과 두 단어를 매개 변수로 취하고 메인 문자열 내부의 단어 사이의 텍스트를 반환하는 함수stringBetween()
을 정의합니다. Source.IndexOf(Start, 0) + Start.Length
문을 사용하여 텍스트의 시작 인덱스StartIndex
를 초기화했습니다. 이 문은Source
문자열 내에서Start
문자열의 인덱스를 가져온 다음Start
가 텍스트 결과에 나오지 않도록Start
문자열의 길이로 증가시킵니다. 텍스트의 끝 인덱스EndIndex
에 대해 동일한 절차가 수행됩니다. 그런 다음StartIndex
를 시작 색인으로,EndIndex-StartIndex
를 새 문자열의 길이로String.SubString()
함수에 제공하여 텍스트를 반환했습니다.
Maisam is a highly skilled and motivated Data Scientist. He has over 4 years of experience with Python programming language. He loves solving complex problems and sharing his results on the internet.
LinkedIn