字符串替换问题 (在线等)

dongfangshang1 2012-05-17 11:49:53
我写了一段代码,要删除字符串例如 ####1234#123 前面开头所有的#

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

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



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

i++;
}

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



...全文
64 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
test2050 2012-05-18
  • 打赏
  • 举报
回复
i++;
导致i变成1了
第一次删除你0位的#,剩下3个#
第二次删除3个#中的第2个即substring(1,1)的问题。
第三次找substing(2,1)就找第3位的#找不着了

删除i++这一句就可以了
dongfangshang1 2012-05-18
  • 打赏
  • 举报
回复
删除 i++ 没必要用变量, 永远干掉第一个 0
dongfangshang1 2012-05-18
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 的回复:]
删除#号时,字符串中原来的#的索引提前了
[/Quote]

晕,明白了, 多谢


string local = "#####123#123";

while(local.Substring(0,1)=="#")
{
local = local.Remove(0, 1);

i++;
}

MessageBox.Show(local);


test2050 2012-05-17
  • 打赏
  • 举报
回复
i++;
导致i变成1了
第一次删除你0位的#,剩下2个#
第二次删除2个#中的第2个即substring(1,1)的问题。
删除i++这一句就可以了
dongfangshang1 2012-05-17
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 的回复:]
string local = "#####123#123";
local=Regex.Replace(local,@"#","")
[/Quote]

哥,你这个是啥?



2楼,问题在哪,没看懂, 能上下代码么?
zh6335901 2012-05-17
  • 打赏
  • 举报
回复
删除#号时,字符串中原来的#的索引提前了
EnForGrass 2012-05-17
  • 打赏
  • 举报
回复
string local = "#####123#123";
local=Regex.Replace(local,@"#","")

111,126

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧