关于使用不定参数params传参替换文本的小例子
今天又学到了新知识,开发中,客户端可能需要替换配置文本里面的一些参数,比如下面这句战报文本:
{s}悍然出击,刹那间对{s}造成<color=#FF0000>{s}</color>伤害
最初是把{}里面都配置成了s,正则表达式获取{}里面的内容进行循环替换,但是发现输出有问题,因为Replace方法是针对整个文本替换,三个s都被Replace成了第一个参数。
这种情况,有两种方式:
1、保证{}内的文本不一样,比如改成s1,s2,s3,并且{}外没有和{}内文本相同的内容;
2、使用String.Format方法,然后使用C#的不定参数params关键字传参,{}内改成:{0}悍然出击,刹那间对{1}造成<color=#FF0000>{2}</color>伤害