이 문서는 기계 번역을 이용하여 번역되었습니다. 문서를 영문으로 보려면 영문 확인란을 선택하세요. 마우스 포인터를 텍스트 위로 이동시켜 팝업 창에서 영문 텍스트를 표시할 수도 있습니다.
번역
영문

String.IndexOf 메서드 (String, Int32)

 

게시 날짜: 2016년 11월

이 인스턴스에서 맨 처음 발견되는 지정된 문자열의 0부터 시작하는 인덱스를 보고합니다. 검색은 지정된 문자 위치에서 시작됩니다.

네임스페이스:   System
어셈블리:  mscorlib(mscorlib.dll에 있음)

public int IndexOf(
	string value,
	int startIndex
)

매개 변수

value
Type: System.String

검색할 문자열입니다.

startIndex
Type: System.Int32

검색을 시작할 위치입니다.

반환 값

Type: System.Int32

해당 문자열이 있으면 현재 인스턴스의 시작 부분에서 value 인덱스 위치(0부터 시작)이고, 해당 문자열이 없으면 -1입니다. valueString.Empty인 경우 반환 값은 startIndex입니다.

Exception Condition
ArgumentNullException

valuenull인 경우

ArgumentOutOfRangeException

startIndex가 0보다 작거나 이 문자열의 길이보다 큽니다.

인덱스 번호는 0에서 시작합니다. startIndex 매개 변수의 범위는 0에서 문자열 인스턴스 길이 사이입니다. 경우 startIndex 문자열 인스턴스의 길이 같으면, 메서드는-1을 반환 합니다.

이 메서드는 현재 문화권을 사용 하 여 단어 (대/소문자 구분 및 문화권을 구분) 검색을 수행 합니다. 검색에서 시작 된 startIndex 문자이 인스턴스의 위치 및 마지막 문자 위치까지 계속 됩니다.

문자 집합에는 무시할 수 있는 문자가 포함되며, 이들 문자는 언어 또는 문화권 구분 비교를 수행하는 경우 고려되지 않습니다. 문화권 구분 검색에서는 value에 무시할 수 있는 문자가 포함된 경우 결과는 해당 문자가 제거된 대상을 검색하는 것과 같습니다. 경우 value 하나 이상의 무시할 수 있는 문자로 구성 되어는 IndexOf(String, Int32) 메서드는 항상 반환 startIndex, 검색을 시작할 문자 위치입니다. 다음 예제에서는 IndexOf(String, Int32) 메서드 뒤에 두 개의 문자열에 "m" 하이픈이 (U + 00AD)의 위치를 찾는 데 사용 됩니다. 문자열 중 하나에만 필수 부분 문자열이 포함되어 있습니다. 이 예제에서 실행 되는 경우는 .NET Framework 4 이상, 두 경우 모두 하이픈은 무시할 수 있는 문자 때문에 메서드 반환 문자열에 "m"의 인덱스입니다. "m"이 앞에 붙은 사용자 지정 하이픈이 포함된 첫 번째 문자열의 경우, 메서드가 사용자 지정 하이픈의 인덱스를 반환하지 못하고 대신 "m"의 인덱스를 반환합니다.

using System;

public class Example
{
   public static void Main()
   {
      string searchString = "\u00ADm";
      string s1 = "ani\u00ADmal" ;
      string s2 = "animal";

      Console.WriteLine(s1.IndexOf(searchString, 2));
      Console.WriteLine(s2.IndexOf(searchString, 2));
   }
}
// The example displays the following output:
//       4
//       3

호출자 참고 사항:

에 설명 된 대로 .NET Framework에서 문자열 사용에 대한 유용한 정보, 기본 값으로 대체 하 고 대신 명시적으로 지정 하는 매개 변수를 필요로 하는 메서드를 호출 하는 문자열 비교 메서드를 호출 하지 않는 것이 좋습니다. 현재 문화권의 비교 규칙을 사용 하 여 특정 문자 위치 후 발생 하는 부분 문자열의 첫 번째 인덱스 찾기 호출의 IndexOf(String, Int32, StringComparison) 메서드 오버 로드의 값을 가진 StringComparison.CurrentCulture 에 대 한 해당 comparisonType 매개 변수입니다.

다음 예제에서는 대상 문자열에 지정된 된 문자열의 문자열을 모두 검색 합니다.

using System;

public class IndexOfTest {
    public static void Main() {

        string strSource = "This is the string which we will perform the search on";

        Console.WriteLine("The search string is:{0}\"{1}\"{0}", Environment.NewLine, strSource);

        string strTarget = "";
        int found = 0;
        int totFinds = 0;

        do {
            Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ");

            strTarget = Console.ReadLine();

            if (strTarget != "") {

                for (int i = 0; i < strSource.Length; i++) {

                    found = strSource.IndexOf(strTarget, i);

                    if (found >= 0) {
                        totFinds++;
                        i = found;
                    }
                    else
                        break;
                }
            }
            else
                return;

            Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}",
                    Environment.NewLine, strTarget, totFinds);

            totFinds = 0;

        } while ( true );
    }
}

유니버설 Windows 플랫폼
8 이후 사용 가능
.NET Framework
1.1 이후 사용 가능
이식 가능한 클래스 라이브러리
이식 가능한 .NET 플랫폼 에서 지원됨
Silverlight
2.0 이후 사용 가능
Windows Phone Silverlight
7.0 이후 사용 가능
Windows Phone
8.1 이후 사용 가능
맨 위로 이동
표시: