如何替换自定义格式字符串?

时间:2018-05-03 05:59:31

标签: c# sql-server string.format

我在网上搜索了很长时间。但没用。请帮助或尝试提供一些如何实现这一目标的想法。

在我的SQL数据库中,有一个数据:

ggplot2

我想要一个字符串:Reason:%s与%s等预算科目的内容存在重复,核减%d万元 ResultS1:本科目镍铁中多元素样品前处理 ResultS2:本科目ICP测定法 ResultD:2.50

2 个答案:

答案 0 :(得分:1)

SELECT concat_ws('',ResultS1,'与',ResultS2,'等预算科目的内容存在重复,核减',ResultD,'万元') as Result 
FROM `yourtable`

按照c#

中的answer连接字符串进行操作
string key = String.Join("", new String[] { ResultS1,'与',ResultS2,'等预算科目的内容存在重复,核减',ResultD,'万元'});

答案 1 :(得分:1)

您可以使用this question中的有用扩展方法(第二个回答)ReplaceFirst

public static string ReplaceFirst(this string text, string search, string replace)
{
    int pos = text.IndexOf(search);
    if (pos < 0)
    {
        return text;
    }
    return $"{text.Substring(0, pos)}{replace}{text.Substring(pos + search.Length)}";
}

然后像这样调用它

var reason = "%s与%s等预算科目的内容存在重复,核减%d万元";
var results1 = "本科目镍铁中多元素样品前处理";
var results2 = "本科目ICP测定法";
var resultd = "2.50";

var final = reason
    .ReplaceFirst("%s", results1)
    .ReplaceFirst("%s", results2)
    .ReplaceFirst("%d", resultd);

分配final的地方

"本科目镍铁中多元素样品前处理与本科目ICP测定法等预算科目的内容存在重复,核减2.50万元"