日期:2014-05-17  浏览次数:21041 次

C#字符串查找替换(求个高效点的算法)
最近遇到这样一个需求。
从数据库里读取到一个字段
"X的价格为X元"
X相当于占位符,或格式
要我写个方法传递一个上述格式的字符串,和参数列表,返回格式化后的字符串。

String str="X的价格为X元";
Object[] objs={"牛仔裤",98.5};
String result=GetString(str,objs);

输出的结果为:牛仔裤的价格为98.5

public String GetString(String str,Object[] objs)
{
  ……
}
这个方法我自己写了几个感觉太繁琐。效率不高。
能不能求个高效点的算法。

------解决方案--------------------
正则替换:
static string GetString(string str, object[] objs)
{
int i=0;
return Regex.Replace(str, "X", m => "" + objs[i++]);
}