C#中,怎么提取一个字符串中的指定字符比如str = "ABCDE"
我要提取 B这个字符的位置
不能这样
str.substring(1,1);
不能这样,因为我不看这个字符串
我要在不知道这个字符串中有没有B字符的情况下,判断其位置,请教!

解决方案 »

  1.   

    用 IndexOf 获取
    如果返回的是-1,说明字符串里没有你要找的字符。
      

  2.   

    有很多方法的。
    可以用for循环来找你想要的字符,要是没有就返回相关信息。
    也可以用contians方法来查找,都很简单。
      

  3.   

    话说回来,查找B的位置(B已知),然后把B拿出来(得到一个已知的东西),不觉得很多余吗?
      

  4.   

    举个例子:
    string str = "123456";
                bool s = str.Contains("2");
                Console.WriteLine(s);
                Console.ReadKey();
    结果返回true就是找到你要的字符,false就没有。
      

  5.   


        string mybalance = "12234";
                if (mybalance.Contains("B"))
                {
                    return mybalance.Substring(mybalance.IndexOf("B"), 1);
                }
                return -1;
      

  6.   

    这就是你想要的完整代码,str就是你的字符串,s就是你要找的字符。返回值就是字符位置。
     class Program
        {
            static void Main(string[] args)
            {
                string str = "123456";
                bool s = str.Contains("2");
                if (s)
                {
                    Console.WriteLine(str.IndexOf("4")+1);
                }
               
                Console.ReadKey();
            }
        }
      

  7.   

    纠正一下:str.IndexOf("4")中的“4”应该为“2”,应该是你要找的字符。返回的是其位置。
      

  8.   

    if(str.IndexOf("B")>-1)
    //存在
    else
    //不存在