2014-04-11 141 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_答案 –