黑马程序员技术交流社区

标题: 字符串处理问题? [打印本页]

作者: 刘欢    时间: 2013-6-25 15:17
标题: 字符串处理问题?
本帖最后由 刘欢 于 2013-6-28 16:56 编辑
  1. //4、让用户输入一英文语句,这句换包含多个e,分别找出所有e的位置。

  2. Console.WriteLine("请输入一句英文语句:");
  3. string input = Console.ReadLine();

  4. //input.Contains

  5. for (int i = 0; i < input.Length; i++)
  6. {
  7. if (input[i]=='e')
  8. {
  9. Console.Write(i+1+",");
  10. }
  11. }

  12. Console.ReadKey();
复制代码
有没有使用 字符串处理  的方法,解决这个问题?
作者: 风雪再现    时间: 2013-6-25 15:54
Console.WriteLine("请输入一个字符串:");
            string strInput = Console.ReadLine();
            char[] chars = strInput.ToCharArray();
            StringBuilder sb = new StringBuilder();
            for (int i = 0; i < strInput.Length; i++)
            {
                if (chars[i] == 'e')
                {
                    sb = sb.Append(i.ToString ()+" ");
                }
            }
            Console.WriteLine(sb.ToString ());
这里你可以用StringBuilder ,也可以直接用string,一般遇到字符串相加,我都是前者

QQ图片20130625155213.jpg (8.26 KB, 下载次数: 0)

QQ图片20130625155213.jpg

作者: 万大述    时间: 2013-6-25 17:03
如有特殊用途,可定义数组标记存放,代码如下:
Console.WriteLine("请输入一个字符串:");
            string Input = Console.ReadLine();
            char[] testChars = Input.ToLower().ToArray(); //转换成小写并分解成字符数组
            int[] position = new int[Input.Length]; //标记下标
            for (int i = 0; i < Input.Length; i++) //得到标记
            {
                if (testChars[i] == 'e')
                {
                    position[i] =  1;
                }
            }
            for (int j = 0; j < Input.Length; j++) //打印标记
            {
                if (position[j] == 1)
                {
                    Console.WriteLine("第{0}个字符是‘e’!", j+1);
                }
            }
            Console.ReadKey();
作者: 刘欢    时间: 2013-6-28 16:56
    多谢了




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