2014-04-11 143 views
-2

我想创建一个程序,删除与分隔符每换行,则文本前插入prefix,和之后文本插入suffix,所以这里的返回结果是功能:串联多个字符串

private string replacer(string text,string delimiter,string prefix,string suffix) 
    { 
     string replaced = text.Replace(System.Environment.NewLine, delimiter); 
     string concat = String.Concat(prefix, delimiter, suffix); 
     return replaced; 

以及为什么prefixsuffix未插入文本? enter image description here

+2

因为你返回结果..不是.. Concat的同时 – Arcturus

回答

2

您要退回replaced。您应该返回concat

private string replacer(string text,string delimiter,string prefix,string suffix) 
{ 
    string replaced = text.Replace(System.Environment.NewLine, delimiter); 
    string concat = String.Concat(prefix, delimiter, suffix); 
    return concat ; 

您还可以使用string.Format("{0} {1} {2}",prefix, delimter, suffix);你需要调整之间的间距英寸

根据你的问题,换成没有做任何事情。它应该如下:

private string replacer(string text,string delimiter,string prefix,string suffix) 
{ 
    string replaced = text.Replace(System.Environment.NewLine, delimiter); 
    string concat = String.Concat(prefix, replaced, suffix); 
    return concat ; 

这里换成了新的一行。不知道你想做那个还是只用一个分隔符。

+0

,没有必要使用'String.Concat'明确 - 一个简单的'前缀+取代+ suffix'会做同样的事情。 – Luaan

+0

我不明白替换变量的作用here.that代码只是连接前缀后缀,分隔符和忽略替换的 –

2

取出用分隔符每换行,然后 前插入前缀的文本,该文本后加后缀,所以这里是函数的

除了返回不正确的变量,你不正确连接值。您需要:

string concat = String.Concat(prefix, replaced, suffix); 
            //^^^^^^ Here replaced instead of delimeter 

//and then: 
return concat; 
+1

这是_correct_答案 –