using System.Text.RegularExpressions;
public static void Main()
string Lines = " If our road signs Catch your eye Smile But don't forget To buy Burma Shave ";
var splitLines = Regex.Split(Lines, @"\s{2,}").Where(s => s != String.Empty);
foreach(string s in splitLines)
Console.Write(SignFormatter.FormatAsSign(s, 21));
foreach(string s in splitLines)
Console.Write(SignFormatter.FormatAsSign(s, 50));
foreach(string s in splitLines)
Console.Write(SignFormatter.FormatAsSign(s, 100));
public static class SignFormatter
private static char SignHorizontalSide = '─';
private static char SignTopLeft = (char)9486;
private static char SignTopRight = (char)9490;
private static char SignBottomLeft = (char)9492;
private static char SignBottomRight = (char)9496;
private static char SignVerticalSide = (char)124;
public static string FormatAsSign(string input, int length)
Console.WriteLine(length);
StringBuilder sb = new StringBuilder();
int spaces = length - input.Length;
Console.WriteLine(spaces);
int padLeft = spaces / 2 + input.Length;
Console.WriteLine(padLeft);
sb.AppendLine($"{SignTopLeft}{new String(SignHorizontalSide, length)}{SignTopRight}");
sb.AppendLine($"{SignVerticalSide}{input.PadLeft(padLeft).PadRight(length)}{SignVerticalSide}");
sb.AppendLine($"{SignBottomLeft}{new String(SignHorizontalSide, length)}{SignBottomRight}");