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

String.IndexOf 메서드 (String, Int32, StringComparison)

 

게시 날짜: 2016년 11월

현재 String 개체에서 맨 처음 발견되는 지정된 문자열의 0부터 시작하는 인덱스를 보고합니다. 매개 변수는 현재 문자열의 검색 시작 위치와 지정된 문자열에 사용할 검색 유형을 지정합니다.

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

public int IndexOf(
	string value,
	int startIndex,
	StringComparison comparisonType
)

매개 변수

value
Type: System.String

검색할 문자열입니다.

startIndex
Type: System.Int32

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

comparisonType
Type: System.StringComparison

검색 규칙을 지정하는 열거형 값 중 하나입니다.

반환 값

Type: System.Int32

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

Exception Condition
ArgumentNullException

valuenull인 경우

ArgumentOutOfRangeException

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

ArgumentException

comparisonType는 유효한 System.StringComparison 값이 아닙니다.

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

comparisonType 매개 변수를 검색 하도록 지정 된 value 현재 또는 고정 문화권을 사용 하 여, 대/소문자 구분 또는 대/소문자 구분 검색을 사용 하 여 및 단어 또는 서 수 비교 규칙을 사용 하 여 매개 변수입니다.

호출자 참고 사항:

문자 집합에는 무시할 수 있는 문자가 포함되며, 이들 문자는 언어 또는 문화권 구분 비교를 수행하는 경우 고려되지 않습니다. 문화권 구분 검색(즉, comparisonTypeStringComparison.Ordinal 또는 StringComparison.OrdinalIgnoreCase가 아닌 경우)에서는 value에 무시할 수 있는 문자가 포함된 경우 결과는 해당 문자가 제거된 대상을 검색하는 것과 같습니다. 경우 value 하나 이상의 무시할 수 있는 문자로 구성 되어는IndexOf(String, Int32, StringComparison) 메서드는 항상 반환 startIndex, 즉 검색을 시작할 문자 위치입니다.

다음 예제에서는 IndexOf(String, Int32, StringComparison) 메서드 뒤에 "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, StringComparison.CurrentCulture));
      Console.WriteLine(s1.IndexOf(searchString, 2, StringComparison.Ordinal));
      Console.WriteLine(s2.IndexOf(searchString, 2, StringComparison.CurrentCulture));
      Console.WriteLine(s2.IndexOf(searchString, 2, StringComparison.Ordinal));
   }
}
// The example displays the following output:
//       4
//       3
//       3
//       -1

다음 exampledemonstrates 3 오버 로드는 IndexOf 의 여러 다른 값을 사용 하 여 다른 문자열 내에 있는 문자열의 첫 번째 항목을 찾을 메서드는 StringComparison 열거형입니다.

// This code example demonstrates the 
// System.String.IndexOf(String, ..., StringComparison) methods.

using System;
using System.Threading;
using System.Globalization;

class Sample 
{
    public static void Main() 
    {
    string intro = "Find the first occurrence of a character using different " + 
                   "values of StringComparison.";
    string resultFmt = "Comparison: {0,-28} Location: {1,3}";

// Define a string to search for.
// U+00c5 = LATIN CAPITAL LETTER A WITH RING ABOVE
    string CapitalAWithRing = "\u00c5"; 

// Define a string to search. 
// The result of combining the characters LATIN SMALL LETTER A and COMBINING 
// RING ABOVE (U+0061, U+030a) is linguistically equivalent to the character 
// LATIN SMALL LETTER A WITH RING ABOVE (U+00e5).
    string cat = "A Cheshire c" + "\u0061\u030a" + "t";

    int loc = 0;
    StringComparison[] scValues = {
        StringComparison.CurrentCulture,
        StringComparison.CurrentCultureIgnoreCase,
        StringComparison.InvariantCulture,
        StringComparison.InvariantCultureIgnoreCase,
        StringComparison.Ordinal,
        StringComparison.OrdinalIgnoreCase };

// Clear the screen and display an introduction.
    Console.Clear();
    Console.WriteLine(intro);

// Display the current culture because culture affects the result. For example, 
// try this code example with the "sv-SE" (Swedish-Sweden) culture.

    Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
    Console.WriteLine("The current culture is \"{0}\" - {1}.", 
                       Thread.CurrentThread.CurrentCulture.Name,
                       Thread.CurrentThread.CurrentCulture.DisplayName);

// Display the string to search for and the string to search.
    Console.WriteLine("Search for the string \"{0}\" in the string \"{1}\"", 
                       CapitalAWithRing, cat);
    Console.WriteLine();

// Note that in each of the following searches, we look for 
// LATIN CAPITAL LETTER A WITH RING ABOVE in a string that contains 
// LATIN SMALL LETTER A WITH RING ABOVE. A result value of -1 indicates 
// the string was not found.
// Search using different values of StringComparison. Specify the start 
// index and count. 

    Console.WriteLine("Part 1: Start index and count are specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.IndexOf(CapitalAWithRing, 0, cat.Length, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparison. Specify the 
// start index. 
    Console.WriteLine("\nPart 2: Start index is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.IndexOf(CapitalAWithRing, 0, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }

// Search using different values of StringComparison. 
    Console.WriteLine("\nPart 3: Neither start index nor count is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.IndexOf(CapitalAWithRing, sc);
        Console.WriteLine(resultFmt, sc, loc);
        }
    }
}

/*
Note: This code example was executed on a console whose user interface 
culture is "en-US" (English-United States).

This code example produces the following results:

Find the first occurrence of a character using different values of StringComparison.
The current culture is "en-US" - English (United States).
Search for the string "Å" in the string "A Cheshire ca°t"

Part 1: Start index and count are specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 2: Start index is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

Part 3: Neither start index nor count is specified.
Comparison: CurrentCulture               Location:  -1
Comparison: CurrentCultureIgnoreCase     Location:  12
Comparison: InvariantCulture             Location:  -1
Comparison: InvariantCultureIgnoreCase   Location:  12
Comparison: Ordinal                      Location:  -1
Comparison: OrdinalIgnoreCase            Location:  -1

*/

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