我正在寫出一個大字符串(大約100行)到一個文本文件,並希望整個文本塊選項卡。c#標籤包裝字符串
WriteToOutput("\t" + strErrorOutput);
我上面使用的這行只是標籤文本的第一行。我怎樣才能縮進/選項卡的整個字符串?
我正在寫出一個大字符串(大約100行)到一個文本文件,並希望整個文本塊選項卡。c#標籤包裝字符串
WriteToOutput("\t" + strErrorOutput);
我上面使用的這行只是標籤文本的第一行。我怎樣才能縮進/選項卡的整個字符串?
更換由換行符所有換行符後按Tab:
WriteToOutput("\t" + strErrorOutput.Replace("\n", "\n\t"));
你可以讓你的字符串輸出與CRLF + TAB代替CRLF的副本。並寫入要輸出的字符串(仍以前面的TAB爲前綴)。
strErrorOutput = strErrorOutput.Replace("\r\n", "\r\n\t");
WriteToOutput("\t" + strErrorOutput);
File.WriteAllLines(FILEPATH,input.Split(new string[] {"\n","\r"}, StringSplitOptions.None)
.Select(x=>"\t"+x));
要做到這一點,你就必須有一個有限的線路長度(即< 100個字符)在這一點這個問題變得容易。
public string ConvertToBlock(string text, int lineLength)
{
string output = "\t";
int currentLineLength = 0;
for (int index = 0; index < text.Length; index++)
{
if (currentLineLength < lineLength)
{
output += text[index];
currentLineLength++;
}
else
{
if (index != text.Length - 1)
{
if (text[index + 1] != ' ')
{
int reverse = 0;
while (text[index - reverse] != ' ')
{
output.Remove(index - reverse - 1, 1);
reverse++;
}
index -= reverse;
output += "\n\t";
currentLineLength = 0;
}
}
}
}
return output;
}
這將任何文本轉換成的文本塊被分成長度lineLength
的線和所有開始與標籤並以換行符結束。
謝謝......有沒有一種方法可以讓字符串太長而不能放在一行上,也可以選項卡?現在,所有新行都是標籤,但是其中一些較長的行正在環繞而沒有任何縮進 – sammis
請查看此[包裝字符串擴展方法的片段](http://bryan.reynoldslive.com/post/Wrapping -string-data.aspx),它返回一個字符串列表 – jltrem