【问题标题】:Keep words together in console writeline在控制台写行中保持单词在一起
【发布时间】:2015-08-13 22:53:29
【问题描述】:

我最近注意到,当我在任何大于 80 个字符(或大于缓冲区大小)的字符串上使用 Console.WriteLine 时,输出会在 80 个字符处完全中断字符串。

If this was really 80 characters the break wou
ld look something like that.

虽然我知道我可以使用一些疯狂的正则表达式来绕过这个问题,但我想知道是否有更简单的解决方案。我用谷歌搜索了它,但我找不到任何 C# 代码或函数可以防止控制台打断单词。

【问题讨论】:

  • 您可以简单地想出一个方法,当它达到 80 个字符时,检查(最近的)空格 (" ") 并用中断 ("\r\n") 替换它
  • 旁注:将文本最佳地放入固定大小的布局是非常常见的面试问题 - 应该有很多答案(在您的搜索查询中包括“动态编程”以获得更好的结果)。
  • 好的,这可能会有所帮助,谢谢

标签: c# regex console-application visual-studio-2015 .net-4.6


【解决方案1】:

使用这个模式(本例我用了40个字符,改成80个)

^(.{1,40})\s

并替换为$1\r\n Demo

# ^(.{1,40})\s
^               # Start of string/line
(               # Capturing Group (1)
  .             # Any character except line break
  {1,40}        # (repeated {1,40} times)
)               # End of Capturing Group (1)
\s              # <whitespace character>

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-10-14
    • 2018-07-05
    • 2013-12-22
    • 2015-08-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多