【问题标题】:Ident Tabs for Multiple New Line String Variable in Net CoreNet Core 中多个新行字符串变量的标识选项卡
【发布时间】:2019-12-25 12:30:58
【问题描述】:

如何在写入文件时使用制表符识别一组行?在写入新文件时,我需要遍历变量中的每一行并为每行创建 8 个空格或两个制表符。

如果字符串是一行,那很容易,用" " + test,但是它有多行。

public static string testLine=
        "Line1" + Environment.NewLine +
        "Line2" + Environment.NewLine +
        "Line3" + Environment.NewLine +
        "Line4" + Environment.NewLine +

 using (System.IO.StreamWriter file = new System.IO.StreamWriter(filePath, true))
 {
        file.WriteLine(testLine);

字符串由换行、换行进入等组成。

是否有任何 Microsoft Ident 函数库来支持这一点? 以后需要处理多个字符串变量。

【问题讨论】:

  • 可以将这一行分解为多行,循环写入文件。
  • 我的意思是,没有必要手动创建这个变量。您可以在运行时构建它。我想你会发现 StringBuilder (docs.microsoft.com/en-us/dotnet/standard/base-types/…) 对于这种情况来说足够方便了。
  • 好吧,我是另一个团队给了我这些变量,现在正在使用它们
  • 他们首先将其分解为行:var lines = string.Split(Environment.NewLine, testLine)。然后遍历这些行并在每行之前写标签。
  • 好的,请随意将工作代码放在答案中,我可以发送积分谢谢!

标签: c# .net-core tabs streamwriter .net-core-2.0


【解决方案1】:

您需要做的就是在字符串前面加上空格或制表符,然后用换行符和合适的空格替换所有出现的换行符:

testLine = "    " + testLine.Replace( Environment.NewLine, Environment.NewLine + "    " );

您可以显式处理空字符串以避免缩进:

testLine = String.IsNullOrEmpty(testLine) ? testLine : "    " + testLine.Replace( Environment.NewLine, Environment.NewLine + "    " );

"\t" 替换" " 以插入制表符。

【讨论】:

    猜你喜欢
    • 2011-06-02
    • 1970-01-01
    • 1970-01-01
    • 2019-07-29
    • 1970-01-01
    • 2023-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多