我正在写一个大字符串(大约100行)到一个文本文件,并希望整个文本块标签。
WriteToOutput("\t" + strErrorOutput);
我上面使用的行只标记了文本的第一行。如何缩进/标记整个字符串?
答案 0 :(得分:1)
File.WriteAllLines(FILEPATH,input.Split(new string[] {"\n","\r"}, StringSplitOptions.None)
.Select(x=>"\t"+x));
答案 1 :(得分:1)
为此,您必须拥有有限的行长度(即<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
的行,并且所有文本都以制表符开头并以换行符结尾。
答案 2 :(得分:0)
按换行符替换所有换行符后跟一个标签:
WriteToOutput("\t" + strErrorOutput.Replace("\n", "\n\t"));
答案 3 :(得分:0)
您可以复制字符串以替换CRLF和CRLF + TAB的输出。写入要输出的字符串(仍然以初始TAB为前缀)。
strErrorOutput = strErrorOutput.Replace("\r\n", "\r\n\t");
WriteToOutput("\t" + strErrorOutput);