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

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

© chankamlam 中级黑马   /  2013-5-22 10:18  /  2065 人查看  /  6 人回复  /   0 人收藏 转载请遵从CC协议 禁止商业使用本文

如何将--123-456---789-----123-2把类似的字符串中重复符号去掉,得到123-456-789-123-2

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1

查看全部评分

6 个回复

倒序浏览
string str = "123-456---789-----123-2";
            // 用‘-’来分割字符串,并去掉分割后数组中的‘-’
            string[] strs = str.Split(new char [] {'-'},StringSplitOptions.RemoveEmptyEntries);
            // 定义一个变量,用来接收新拼接起来的字符串
            string newStr = null;
            // 遍历数组中的元素
            for (int i = 0; i < strs.Length;i++ )
            {
               // 如果是 数组中最后一个元素 则 不加‘-’
                if(i==strs.Length-1)
                {
                    newStr += strs[i];
                }
                else
                {
                    // 其他拼接都加‘-’
                newStr += strs[i] + '-';
                }
            }
            Console.WriteLine("原字符串为:123-456---789-----123-2");
            Console.WriteLine("去重复符号后:");
            Console.WriteLine(newStr);


            Console.ReadKey();

评分

参与人数 1技术分 +1 黑马币 +12 收起 理由
杞文明 + 1 + 12 很给力! 很不错!! 试试用正则表达式,字.

查看全部评分

回复 使用道具 举报
用正则表达式替换 很快的
  1. //123-456---789-----123-2把类似的字符串中重复符号去掉,既得到123-456-789-123-2
  2.         static void Main(string[] args)
  3.         {
  4.             string str = "123-456---789-----123-2";
  5.             //使用正则表达式替换字符串 把连续的-替换成一个-
  6.             str = Regex.Replace(str, @"\-+", "-");
  7.             Console.WriteLine(str);
  8.             Console.ReadKey();
  9.         }
复制代码

评分

参与人数 1技术分 +1 收起 理由
杞文明 + 1 赞一个!

查看全部评分

回复 使用道具 举报
谢谢,楼上,如果字符串是---123-4---56---789-----123-2,就会出错。
回复 使用道具 举报
  1. string s = "--123-456---789-----123-2";
  2.             string[] s1 = s.Split(new char[]{'-'},StringSplitOptions.RemoveEmptyEntries);
  3.             s = string.Join("-",s1);
  4.             Console.WriteLine(s);
  5.             Console.ReadKey();
复制代码
回复 使用道具 举报
曾大鹏 发表于 2013-5-22 11:30
用正则表达式替换 很快的

这代码,带劲,我喜欢
回复 使用道具 举报
魏庆君 发表于 2013-5-22 12:28

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