请教字符串替换问题
例如有个字符串:
<序号>dfsdfsd
<序号>123123
<序号>sdfdsa3343
<序号>2534dsdsf
<序号>35345asw12
输出如下:
一、dfsdfsd
二、123123
三、sdfdsa3343
四、2534dsdsf
五、35345asw12
字符串不固定,要把<序号>换成实际的数字,用什么方法实现效率比较高,方便的话附上代码
如果统计出出现次数,循环替换,是不是效率很低的?
谢谢
------解决方案--------------------可以用正则
string str = @"<序号>dfsdfsd
<序号>123123
<序号>sdfdsa3343
<序号>2534dsdsf
<序号>35345asw12";
int n = 0;
str = Regex.Replace(str, "<序号>", delegate(Match m)
{
return ++n + "、";
});
Console.WriteLine(str);
------解决方案--------------------正侧 比对 for 循环替换
------解决方案--------------------你可以用split('<序号>') 分开
然后for循环string[]
个人感觉效率应该是可以的
------解决方案--------------------按照你要的结果,但是只能编到10,你可以忽略
string str = @"<序号>dfsdfsd
<序号>123123
<序号>sdfdsa3343
<序号>2534dsdsf
<序号>35345asw12";
int n = -1;
string[] numbers = new string[] { "一", "二", "三", "四", "五", "六", "七", "八", "九", "十" };
str = Regex.Replace(str, "<序号>", delegate(Match m)
{
n++;
return numbers[n] + "、";
});
Console.WriteLine(str);