黑马程序员技术交流社区

标题: 求string方法 [打印本页]

作者: 帕格尼尼的眼泪    时间: 2013-7-23 23:05
标题: 求string方法
一个字符串android and ios,怎么让它在控制台窗口输出所有d的位置,用string方法
作者: 黑骏马    时间: 2013-7-24 01:10
这个问题我好像在phyth里学过,{:soso_e134:}忘记了。
C#的基础视频我刚开始学,还没学到srting方法的内容,以下是猜测:
string应该有一个方法string.index(),可以得到某字符在串中的索引位置,用它遍历字符串就好了。

作者: 黑骏马    时间: 2013-7-24 01:18
本帖最后由 黑骏马 于 2013-7-24 01:24 编辑

查了下MSDN,MSDN真是个好东西{:soso_e113:}。

如何:使用字符串方法搜索字符串(C# 编程指南)http://msdn.microsoft.com/zh-cn/library/vstudio/ms228630.aspx
  1. string str = "android and ios";
  2. System.Console.WriteLine(str);

  3. //IndexOf()方法可以得到字符在串中的索引位置
  4. int dindex = str.IndexOf("d") ;
  5. System.Console.WriteLine(dindex);

  6. System.Console.ReadKey();
复制代码
{:soso_e127:}只能得到第一个d的位置,我只能想到用截取字符串片段的方法和用其它字母替换已找到的d这两种方法得到后面的。我不会遍历字符串,请教该怎么遍历字符串?

作者: changvh    时间: 2013-7-24 07:40
黑骏马 发表于 2013-7-24 01:18
查了下MSDN,MSDN真是个好东西。

如何:使用字符串方法搜索字符串(C# 编程指南)http://msd ...
  1. Char[] chars = s2.ToCharArray();
  2.             
  3.             for (int i = 0; i < chars.Length; i++)
  4.             {
  5.                     if(chars[i] == 'd')
  6.                     {
  7.                             Console.WriteLine(i);
  8.                     }
  9.             }
复制代码

作者: changvh    时间: 2013-7-24 07:41
当然也可以用正则
  1. string s2  = "android and ios";
  2.             
  3.             Regex reg = new Regex("d");
  4.             
  5.             Match m = reg.Match(s2, 0);
  6.             
  7.             while (m.Success)
  8.             {
  9.                     Console.WriteLine(m.Index);
  10.                     m = m.NextMatch();
  11.             }
复制代码

作者: brucel50    时间: 2013-7-24 09:03
using System;
namespace Question
{
    class Program
    {
        public static void Main(string[] args)
        {
            string string_1 = "android and ios";
            char[] charArray_1 = string_1.ToCharArray();
            for(int i = 0;i<charArray_1.Length;i++)
            {
                if(charArray_1[i] == 'd')
                {
                     Console.WriteLine(i);
                }
            }
            Console.ReadKey();
        }
    }
}
作者: 王云峰    时间: 2013-7-24 14:57
你可以把字符串拆分放到一个char数组里面,然后用for遍历数组,用if判断是不是d。  代码见楼上。




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2