C#의 문자열에서 Substring 찾기

Muhammad Maisam Abbas 2023년10월12일
C#의 문자열에서 Substring 찾기

이 자습서에서는 C#에서 문자열 내 두 단어 사이의 텍스트를 추출하는 방법에 대해 설명합니다.

C#의 문자열에서 텍스트 추출

Hi, I am a string variable과 같은 값을 가진 문자열 변수가 있고Histring사이의 텍스트를 찾으려면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()함수에 제공하여 텍스트를 반환했습니다.

Muhammad Maisam Abbas avatar Muhammad Maisam Abbas avatar

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

관련 문장 - Csharp String