C# get position of a character from string

后端 未结 2 1990
轻奢々
轻奢々 2021-01-29 09:37

My code is this:

 string dex = \"ABCD1234\";
 string ch = \"C\";
 string ch1, ch2;
    if (dex.Contains(ch))
    {
       string n = Convert.ToChar(dex);
                


        
相关标签:
2条回答
  • 2021-01-29 10:03

    You might want to read the documentation on System.String and its methods and properties:

    The method you want is IndexOf():

    string s = "ABCD1234" ;
    char   c = 'C' ;
    
    int offset = s.IndexOf(c) ;
    bool found = index >= 0 ;
    if ( !found )
    {
      Console.WriteLine( "string '{0}' does not contain char '{1}'" , s , c ) ;
    }
    else
    {
      string prefix = s.Substring(0,offset) ;
      string suffix = s.Substring(offset+1) ;
    
      Console.WriteLine( "char '{0}' found at offset +{1} in string '{2}'." , c , offset , s ) ;
      Console.WriteLine( "The substring before it is '{0}'."             , prefix ) ;
      Console.WriteLine( "The substring following it is '{0}'."          , suffix ) ;
    
    }
    
    0 讨论(0)
  • 2021-01-29 10:14
    string aS = "ABCDEFGHI";
    char ch = 'C';
    int idx = aS.IndexOf(ch);
    MessageBox.Show(string.Format("{0} is in position {1} and between {2} and {3}", ch.ToString(), idx + 1, aS[idx - 1], aS[idx + 1]));
    

    This wont handle if your character is at position zero and some other conditions, you'll have to figure them out.

    0 讨论(0)
提交回复
热议问题