日期:2014-05-18  浏览次数:20742 次

字符串替换问题 (在线等)
我写了一段代码,要删除字符串例如 ####1234#123 前面开头所有的#

我写的代码只能替换开头的2-3个 # 还剩下两个, 另我非常不理解。

下面代码输出结果 ##123#123 为什么前面还剩2个。。。


C# code

            string local = "#####123#123";
            int i = 0;
            while(local.Substring(i,1)=="#")
            {
                local = local.Remove(i, 1);
                
                i++;
            }

            MessageBox.Show(local + "---" + i);






------解决方案--------------------
删除#号时,字符串中原来的#的索引提前了
------解决方案--------------------
i++;
导致i变成1了
第一次删除你0位的#,剩下2个#
第二次删除2个#中的第2个即substring(1,1)的问题。
删除i++这一句就可以了