黑马程序员技术交流社区

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

作者: 宋健    时间: 2013-3-13 15:53
标题: 字符处理
要求用户输入字符串,如果字符串中存在数字,转换成汉字输出,
如“abd3567"→”abd三五六七“
谢谢。
作者: 刘云东    时间: 2013-3-13 16:39
先split逐字分割,for循环遍历,switch判断返回,因为单个数字0-9
作者: 天行    时间: 2013-3-13 17:47
我觉得用ToCharArray()好处理一些吧 下面是我写的例子
            //要求用户输入字符串,如果字符串中存在数字,转换成汉字输出,
//如“abd3567"→”abd三五六七“
            Console.WriteLine("请输入字符");
            String strin = Console.ReadLine();
            Char[] chars = strin.ToCharArray();
            for (int i = 0; i < chars.Length; i++)
            {
                switch (chars[i])
                {
                    case '0':
                        chars[i] = '零';
                        break;
                    case '1':
                        chars[i] = '一';
                        break;
                    case '2':
                        chars[i] = '二';
                        break;
                    case '3':
                        chars[i] = '三';
                        break;
                    case '4':
                        chars[i] = '四';
                        break;
                    case '5':
                        chars[i] = '五';
                        break;
                    case '6':
                        chars[i] = '六';
                        break;
                    case '7':
                        chars[i] = '七';
                        break;
                    case '8':
                        chars[i] = '八';
                        break;
                    case '9':
                        chars[i] = '九';
                        break;
                }
            }
            Console.WriteLine(new string(chars));
            Console.ReadKey();
            
        }
作者: 曾玉锋    时间: 2013-3-13 17:48
本帖最后由 曾玉锋 于 2013-3-13 17:50 编辑

string numstr="0123456789";
string chstr="l零一二三四五六七八九";
//创建一个Dictionary<char,char> 集合,用于存储键值对
Dictionary<char,char> dic=new Dictionary<char,char>();
for(int i=0;i<numstr.Length;i++)
{
    dic.add(numstr,chstr);
}

Console.WriteLine("请输入");
string input=Console.ReadLine();
StringBuilder sb=new StringBuilder();
//遍历字符串中的所有字符,追加到sb
for(int i=0;i<input.Length;i++)
{
   if(dic.keys.Contains(input))
  {
      sb.Apend(dic[input]);
      continue;
  }
  sb.Apend(input);
}
Console.WriteLine("转换后的字符串:"+sb.toString());

作者: 石国庆    时间: 2013-3-14 18:12
学习了。。。。。。。。。。。




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