本文整理汇总了C#中System.String.IndexOf方法的典型用法代码示例。如果您正苦于以下问题:C# String.IndexOf方法的具体用法?C# String.IndexOf怎么用?C# String.IndexOf使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类System.String
的用法示例。
在下文中一共展示了String.IndexOf方法的15个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: Main
//引入命名空间
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, 4));
Console.WriteLine(s2.IndexOf(searchString, 2, 4));
// The example displays the following output:
// 4
// 3
}
}
示例2: position
string br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+---";
string br2 = "012345678901234567890123456789012345678901234567890123456789012345678";
string str = "Now is the time for all good men to come to the aid of their country.";
int start;
int at;
int end;
int count;
end = str.Length;
start = end/2;
Console.WriteLine();
Console.WriteLine("All occurrences of 'he' from position {0} to {1}.", start, end-1);
Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
Console.Write("The string 'he' occurs at position(s): ");
count = 0;
at = 0;
while((start <= end) && (at > -1))
{
// start+count must be a position within -str-.
count = end - start;
at = str.IndexOf("he", start, count);
if (at == -1) break;
Console.Write("{0} ", at);
start = at+1;
}
Console.WriteLine();
输出:
All occurrences of 'he' from position 34 to 68. 0----+----1----+----2----+----3----+----4----+----5----+----6----+--- 012345678901234567890123456789012345678901234567890123456789012345678 Now is the time for all good men to come to the aid of their country. The string 'he' occurs at position(s): 45 56
示例3: Main
// 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
*/
示例4: Main
//引入命名空间
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, 4, StringComparison.CurrentCulture));
Console.WriteLine(s1.IndexOf(searchString, 2, 4, StringComparison.Ordinal));
Console.WriteLine(s2.IndexOf(searchString, 2, 4, StringComparison.CurrentCulture));
Console.WriteLine(s2.IndexOf(searchString, 2, 4, StringComparison.Ordinal));
// The example displays the following output:
// 4
// 3
// 3
// -1
}
}
示例5: Main
//引入命名空间
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
}
}
示例6: Main
// Example for the String.IndexOf( char, int, int ) method.
using System;
class IndexOfCII
{
public static void Main()
{
string br1 =
"0----+----1----+----2----+----3----+----" +
"4----+----5----+----6----+----7";
string br2 =
"0123456789012345678901234567890123456789" +
"0123456789012345678901234567890";
string str =
"ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi " +
"ABCDEFGHI abcdefghi ABCDEFGHI";
Console.WriteLine(
"This example of String.IndexOf( char, int, int )\n" +
"generates the following output." );
Console.WriteLine(
"{0}{1}{0}{2}{0}{3}{0}",
Environment.NewLine, br1, br2, str );
FindAllChar( 'A', str );
FindAllChar( 'a', str );
FindAllChar( 'I', str );
FindAllChar( 'i', str );
FindAllChar( '@', str );
FindAllChar( ' ', str );
}
static void FindAllChar( Char target, String searched )
{
Console.Write(
"The character '{0}' occurs at position(s): ",
target );
int startIndex = -1;
int hitCount = 0;
// Search for all occurrences of the target.
while( true )
{
startIndex = searched.IndexOf(
target, startIndex + 1,
searched.Length - startIndex - 1 );
// Exit the loop if the target is not found.
if( startIndex < 0 )
break;
Console.Write( "{0}, ", startIndex );
hitCount++;
}
Console.WriteLine( "occurrences: {0}", hitCount );
}
}
输出:
0----+----1----+----2----+----3----+----4----+----5----+----6----+----7 01234567890123456789012345678901234567890123456789012345678901234567890 ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi ABCDEFGHI The character 'A' occurs at position(s): 0, 20, 40, 60, occurrences: 4 The character 'a' occurs at position(s): 10, 30, 50, occurrences: 3 The character 'I' occurs at position(s): 8, 28, 48, 68, occurrences: 4 The character 'i' occurs at position(s): 18, 38, 58, occurrences: 3 The character '@' occurs at position(s): occurrences: 0 The character ' ' occurs at position(s): 9, 19, 29, 39, 49, 59, occurrences: 6
示例7: Main
//引入命名空间
using System;
public class Example
{
public static void Main()
{
string s1 = "ani\u00ADmal";
string s2 = "animal";
Console.WriteLine("Culture-sensitive comparison:");
// Use culture-sensitive comparison to find the soft hyphen.
Console.WriteLine(s1.IndexOf("\u00AD", StringComparison.CurrentCulture));
Console.WriteLine(s2.IndexOf("\u00AD", StringComparison.CurrentCulture));
// Use culture-sensitive comparison to find the soft hyphen followed by "n".
Console.WriteLine(s1.IndexOf("\u00ADn", StringComparison.CurrentCulture));
Console.WriteLine(s2.IndexOf("\u00ADn", StringComparison.CurrentCulture));
// Use culture-sensitive comparison to find the soft hyphen followed by "m".
Console.WriteLine(s1.IndexOf("\u00ADm", StringComparison.CurrentCulture));
Console.WriteLine(s2.IndexOf("\u00ADm", StringComparison.CurrentCulture));
Console.WriteLine("Ordinal comparison:");
// Use ordinal comparison to find the soft hyphen.
Console.WriteLine(s1.IndexOf("\u00AD", StringComparison.Ordinal));
Console.WriteLine(s2.IndexOf("\u00AD", StringComparison.Ordinal));
// Use ordinal comparison to find the soft hyphen followed by "n".
Console.WriteLine(s1.IndexOf("\u00ADn", StringComparison.Ordinal));
Console.WriteLine(s2.IndexOf("\u00ADn", StringComparison.Ordinal));
// Use ordinal comparison to find the soft hyphen followed by "m".
Console.WriteLine(s1.IndexOf("\u00ADm", StringComparison.Ordinal));
Console.WriteLine(s2.IndexOf("\u00ADm", StringComparison.Ordinal));
// The example displays the following output:
// Culture-sensitive comparison:
// 0
// 0
// 1
// 1
// 4
// 3
// Ordinal comparison:
// 3
// -1
// -1
// -1
// 3
// -1
}
}
示例8: position
string br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+---";
string br2 = "012345678901234567890123456789012345678901234567890123456789012345678";
string str = "Now is the time for all good men to come to the aid of their country.";
int start;
int at;
Console.WriteLine();
Console.WriteLine("All occurrences of 't' from position 0 to {0}.", str.Length-1);
Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
Console.Write("The letter 't' occurs at position(s): ");
at = 0;
start = 0;
while((start < str.Length) && (at > -1))
{
at = str.IndexOf('t', start);
if (at == -1) break;
Console.Write("{0} ", at);
start = at+1;
}
Console.WriteLine();
输出:
All occurrences of 't' from position 0 to 68. 0----+----1----+----2----+----3----+----4----+----5----+----6----+--- 012345678901234567890123456789012345678901234567890123456789012345678 Now is the time for all good men to come to the aid of their country. The letter 't' occurs at position(s): 7 11 33 41 44 55 65
示例9:
String str = "animal";
String toFind = "n";
int index = str.IndexOf("n");
Console.WriteLine("Found '{0}' in '{1}' at position {2}",
toFind, str, index);
输出:
Found 'n' in 'animal' at position 1
示例10: Main
//引入命名空间
using System;
public class Example {
public static void Main()
{
string animal1 = "fox";
string animal2 = "dog";
string strTarget = String.Format("The {0} jumps over the {1}.",
animal1, animal2);
Console.WriteLine("The original string is:{0}{1}{0}",
Environment.NewLine, strTarget);
Console.Write("Enter an adjective (or group of adjectives) " +
"to describe the {0}: ==> ", animal1);
string adj1 = Console.ReadLine();
Console.Write("Enter an adjective (or group of adjectives) " +
"to describe the {0}: ==> ", animal2);
string adj2 = Console.ReadLine();
adj1 = adj1.Trim() + " ";
adj2 = adj2.Trim() + " ";
strTarget = strTarget.Insert(strTarget.IndexOf(animal1), adj1);
strTarget = strTarget.Insert(strTarget.IndexOf(animal2), adj2);
Console.WriteLine("{0}The final string is:{0}{1}",
Environment.NewLine, strTarget);
}
}
// Output from the example might appear as follows:
// The original string is:
// The fox jumps over the dog.
//
// Enter an adjective (or group of adjectives) to describe the fox: ==> bold
// Enter an adjective (or group of adjectives) to describe the dog: ==> lazy
//
// The final string is:
// The bold fox jumps over the lazy dog.
示例11: Main
//引入命名空间
using System;
public class Example
{
public static void Main()
{
string s1 = "ani\u00ADmal";
string s2 = "animal";
// Find the index of the soft hyphen.
Console.WriteLine(s1.IndexOf("\u00AD"));
Console.WriteLine(s2.IndexOf("\u00AD"));
// Find the index of the soft hyphen followed by "n".
Console.WriteLine(s1.IndexOf("\u00ADn"));
Console.WriteLine(s2.IndexOf("\u00ADn"));
// Find the index of the soft hyphen followed by "m".
Console.WriteLine(s1.IndexOf("\u00ADm"));
Console.WriteLine(s2.IndexOf("\u00ADm"));
// The example displays the following output
// if run under the .NET Framework 4 or later:
// 0
// 0
// 1
// 1
// 4
// 3
}
}
示例12: String
// Create a Unicode string with 5 Greek Alpha characters.
String szGreekAlpha = new String('\u0391',5);
// Create a Unicode string with 3 Greek Omega characters.
String szGreekOmega = "\u03A9\u03A9\u03A9";
String szGreekLetters = String.Concat(szGreekOmega, szGreekAlpha,
szGreekOmega.Clone());
// Display the entire string.
Console.WriteLine("The string: {0}", szGreekLetters);
// The first index of Alpha.
int ialpha = szGreekLetters.IndexOf('\u0391');
// The first index of Omega.
int iomega = szGreekLetters.IndexOf('\u03A9');
Console.WriteLine("First occurrence of the Greek letter Alpha: Index {0}",
ialpha);
Console.WriteLine("First occurrence of the Greek letter Omega: Index {0}",
iomega);
输出:
The string: ΩΩΩΑΑΑΑΑΩΩΩ First occurrence of the Greek letter Alpha: Index 3 First occurrence of the Greek letter Omega: Index 0
示例13: Main
//引入命名空间
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 );
}
}
示例14: Main
//引入命名空间
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
}
}
示例15: Main
//引入命名空间
using System;
public class StringSearchDemo {
public static void Main() {
string str = "C# has powerful string handling.";
int idx;
Console.WriteLine("str: " + str);
idx = str.IndexOf('h');
Console.WriteLine("Index of first 'h': " + idx);
idx = str.LastIndexOf('h');
Console.WriteLine("Index of last 'h': " + idx);
idx = str.IndexOf("ing");
Console.WriteLine("Index of first \"ing\": " + idx);
idx = str.LastIndexOf("ing");
Console.WriteLine("Index of last \"ing\": " + idx);
char[] chrs = { 'a', 'b', 'c' };
idx = str.IndexOfAny(chrs);
Console.WriteLine("Index of first 'a', 'b', or 'c': " + idx);
if(str.StartsWith("C# has"))
Console.WriteLine("str begins with \"C# has\"");
if(str.EndsWith("ling."))
Console.WriteLine("str ends with \"ling.\"");
}
}