내보내기(0) 인쇄
모두 확장
이 문서는 기계로 번역한 것입니다. 원본 텍스트를 보려면 포인터를 문서의 문장 위로 올리십시오. 추가 정보
번역
원본

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

이 인스턴스에서 마지막으로 발견되는 지정된 문자열의 인덱스(0부터 시작) 위치를 보고합니다. 지정된 문자 위치에서 검색을 시작하여 지정된 수의 문자 위치에 대한 문자열의 시작 부분 쪽으로 뒤로 검색합니다. 매개 변수는 지정된 문자열을 검색할 때 수행할 비교 유형을 지정합니다.

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

public int LastIndexOf(
	string value,
	int startIndex,
	int count,
	StringComparison comparisonType
)

매개 변수

value
형식: System.String
검색할 문자열입니다.
startIndex
형식: System.Int32
검색을 시작할 위치입니다. startIndex에서 이 인스턴스의 시작부분을 향해 검색이 진행됩니다.
count
형식: System.Int32
검사할 문자 위치의 수입니다.
comparisonType
형식: System.StringComparison
검색 규칙을 지정하는 열거형 값 중 하나입니다.

반환 값

형식: System.Int32
시작부터 인덱스 위치는 value 해당 문자열이 있으면 매개 변수 또는-1 찾을 수 없습니다 또는 현재 인스턴스와 같으면 String.Empty. valueString.Empty이면 반환 값은 startIndex와 이 인스턴스의 마지막 인덱스 위치 중 작은 값입니다.

예외조건
ArgumentNullException

valuenull입니다.

ArgumentOutOfRangeException

count가 음수인 경우

또는

현재 인스턴스는 String.Empty와 같지 않고 startIndex가 음수입니다.

또는

현재 인스턴스가 String.Empty와 같지 않고, startIndex가 이 인스턴스보다 큽니다.

또는

현재 인스턴스가 String.Empty와 같지 않고 startIndex +1 - count가 이 인스턴스 내에 없는 위치를 지정합니다.

또는

현재 인스턴스가 String.Empty와 같거나 start가 -1보다 작거나 0보다 큽니다.

또는

현재 인스턴스가 String.Empty와 같고 count가 0보다 큽니다.

ArgumentException

comparisonType은(는) 올바른 System.StringComparison 값이 아닙니다.

인덱스 번호는 0부터 시작합니다. 즉, 문자열의 첫 번째 문자는 인덱스 0에 있고 마지막 문자는 Length - 1에 해당하는 인덱스에 있습니다.

검색은 startIndex 문자 위치에서 시작되며 value를 찾거나 count개의 문자 위치를 검사할 때까지 뒤로 진행됩니다. 예를 들어 startIndexLength에서 1을 뺀 값이면 메서드가 문자열에서 count개의 문자를 마지막 문자부터 거꾸로 검색합니다.

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

호출자 참고 사항

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

다음 예제에서, LastIndexOf(String, Int32, Int32, StringComparison) 메서드는 두 문자열에서 마지막 "m" 전의 모든 첫번째 문자를 제외한 것중에서 "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";
      int position;

      position = s1.LastIndexOf('m');
      if (position >= 1) {
         Console.WriteLine(s1.LastIndexOf(searchString, position, position, StringComparison.CurrentCulture));
         Console.WriteLine(s1.LastIndexOf(searchString, position, position, StringComparison.Ordinal));
      }      

      position = s2.LastIndexOf('m');
      if (position >= 1) { 
         Console.WriteLine(s2.LastIndexOf(searchString, position, position, StringComparison.CurrentCulture));
         Console.WriteLine(s2.LastIndexOf(searchString, position, position, StringComparison.Ordinal));
      }
   }
}
// The example displays the following output:
//       4
//       3
//       3
//       -1


다음 예제에서는 StringComparison 열거형의 여러 값을 사용하여 다른 문자열 안에 마지막으로 나타나는 문자열을 찾는 LastIndexOf 메서드의 세 가지 오버로드를 보여 줍니다.


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

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

class Sample 
{
    public static void Main() 
    {
    string intro = "Find the last 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 StringComparsion. Specify the start 
// index and count. 

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

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

// Search using different values of StringComparsion. 
    Console.WriteLine("\nPart 3: Neither start index nor count is specified.");
    foreach (StringComparison sc in scValues)
        {
        loc = cat.LastIndexOf(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 last 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

*/


.NET Framework

4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0에서 지원

.NET Framework Client Profile

4, 3.5 SP1에서 지원

이식 가능한 클래스 라이브러리

이식 가능한 클래스 라이브러리에서 지원

Windows 스토어 앱용 .NET

Windows 8에서 지원

Windows Phone 앱용 .NET

Windows Phone 8, Silverlight 8.1에서 지원

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(서버 코어 역할은 지원되지 않음), Windows Server 2008 R2(서버 코어 역할은 SP1 이상에서 지원, Itanium은 지원되지 않음)

.NET Framework에서 모든 플랫폼의 전체 버전을 지원하지는 않습니다. 지원되는 버전의 목록을 보려면 .NET Framework 시스템 요구 사항을 참조하십시오.

커뮤니티 추가 항목

추가
표시:
© 2014 Microsoft