请教一个replace的问题,很急很急!

zou1986 2010-12-16 11:11:58
请问是用Replace时,怎么样才能只替换第一个符合的字符,其它不替换?
比如:

string aa="10,1000";
string bb = aa.Replace("10", "20");
Response.Write(bb);

那么此时bb的值就是20,2000!
要如何替换才能使得bb的值是20,1000
...全文
119 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
tianlinlin08 2010-12-16
  • 打赏
  • 举报
回复
哎呀,抱歉,上面的拷错了。
string aa = "10,1000";
string a ="10";
string b = "20";
int s = aa.IndexOf(a);
int t = b.Length;
string bb = aa.Substring(0, s + t).Replace(a, b) + aa.Substring(s + t);
Response.Write(bb);
tianlinlin08 2010-12-16
  • 打赏
  • 举报
回复
string aa = "10,1000";
string a ="10";
string b = "20";
int s = aa.IndexOf(a);
string bb = aa.Substring(0, s) + b + aa.Substring(s+b.Length );
Response.Write(bb);
linekery 2010-12-16
  • 打赏
  • 举报
回复
new Regex("\\b10\\b").Replace("10,1000,100,10,100","20")

只匹配 完整的 10

output: 20,1000,100,20,100
unicode 2010-12-16
  • 打赏
  • 举报
回复
用正则啊
wan_an 2010-12-16
  • 打赏
  • 举报
回复
把aa split转换成数组
然后对象进行操作的字符串进行replace。
之后再把数组转换成字符串

大爷的。。写了半年的VB.NET。。。把C#的语法给忘记了。。
楼主慢写,我去死了。
chengfellow 2010-12-16
  • 打赏
  • 举报
回复
string aa = "10,1000";
int idx = aa.IndexOf("10");
if (idx >= 0) {
string bb = aa.Substring(0, idx) + "20" + aa.Substring(idx + 2);
Response.Write(bb);
}
蜜_Lumia 2010-12-16
  • 打赏
  • 举报
回复
或者用substring。。。。。
蜜_Lumia 2010-12-16
  • 打赏
  • 举报
回复
string aa="10,1000";
string bb=aa.split(',');
bb.Replace(bb[0],'20')

zou1986 2010-12-16
  • 打赏
  • 举报
回复
明白了,学到几个方法,谢谢大家!

62,025

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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