A股上市公司传智教育(股票代码 003032)旗下技术交流社区北京昌平校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© 何学强 中级黑马   /  2012-10-4 19:55  /  2196 人查看  /  7 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

string str = "01020304050607080910111213141516"

改变 "01,02,03,04,05,06,07,08,09,10,11,12,13,14,15,16"

然后,把字符串里所有的0都去掉

最后变成"1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16"

该如何弄呢?谢谢

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

7 个回复

倒序浏览
麻烦讲解详细点,谢谢
回复 使用道具 举报
神马都不说,上代码吧。我调试成功的代码,谢谢。
如果还是不太理解的话可以自己逐步调试一下。

把01020304050607080910变成12345678910.png (33.19 KB, 下载次数: 52)

把01020304050607080910变成12345678910.png
回复 使用道具 举报
不好意思请以这张为准,谢谢。
回复 使用道具 举报
神马情况...

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
string str = "0102030405";//字符串
            string str1 = "";
            for (int i = 0; i < str.Length; i+=2)
            {
                string str2 = str.Substring(i, 2);//字符串截取的方法 str.Substring(i, 2),i代表截取的起始下标,2代表截取长度
                int num =int.Parse(str2);//截取的字符串转换成int类型,这一步可以把01变成1
                str1 += num.ToString();//再把去0的整数转换成字符串类型放到另一个字符串里面
            }
            Console.WriteLine(str1);
            Console.ReadKey();

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
上面程序可以简写,我就不简写了,注意看我注释,str1的显示结果是“12345”,如果变成“1,2,3,4,5”需要将str1+=num.ToString()+","
回复 使用道具 举报
  1. //思路就是将原字符串每两项作为一个整体,除16外的其他项后面都加逗号,得到新的字符串,然后通过方法split切割
  2. //切掉含有0的部分,并移除空白项,将切割后新得到的数组用字符串连接起来输出即得到所要的结果.
  3. string str = "01020304050607080910111213141516";
  4. string newstr = "";//声明字符串变量接收插入","后的字符串
  5. /*下面一行代码表示:遍历元素,将每两个元素作为一项(整体),后面需要插入",",最后一项16的后面不需要加逗号
  6. *因此遍历的时候字符数组的长度到总长度减2即可,即到15为止
  7. */
  8. for (int i = 0; i < str.Length-2; i+=2)
  9. {
  10. newstr += str.Substring(i, 2) + ",";//将15及以前的元素后面插入","并连接起来
  11. }
  12. newstr += str.Substring(str.Length - 2);//再将元素16添加到新字符串的后面
  13. Console.WriteLine(newstr);//输出添加符号后的结果
  14. //下面一行表示将新字符串中的含0的部分切割并移除空白项,用新字符串数组temp来接收结果
  15. string[] temp = newstr.Split(new char[] {'0' }, StringSplitOptions.RemoveEmptyEntries);
  16. string result = "";
  17. for (int i = 0; i < temp.Length; i++)//遍历切割后的数组循环,
  18. {
  19. result += temp[i]; //连接起来
  20. }
  21. Console.WriteLine(result);//输出最后的结果
  22. Console.ReadKey();
复制代码

评分

参与人数 1技术分 +1 收起 理由
宋天琪 + 1

查看全部评分

回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马