关于使用不定参数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>伤害

posted @ 2022-08-22 22:41  qianxun0975  阅读(65)  评论(0编辑  收藏  举报