public static void Main()
var s = $"0001000236818110000017346000 ";
Console.WriteLine(s.Substring(11,6));
Console.WriteLine(s.Left(2));
Console.WriteLine(s.Left(3));
Console.WriteLine(s.Left(4));
Console.WriteLine(s.Left(5));
Console.WriteLine(s.Left(6));
Console.WriteLine(s.Left(7));
Console.WriteLine(s.Left(100));
public static class StringExtensions
public static string PermissiveSubstring(this string input, int startIndex, int length)
var output = input.Substring(startIndex, input.Length - startIndex <= length ? input.Length-startIndex: length);
public static string Left(this string input, int length)
return input.PermissiveSubstring(11, length);
public static string Right(this string input, int length)
var output = input.Reverse().PermissiveSubstring(0, length).Reverse();
public static string Reverse(this string s)
char[] charArray = s.ToCharArray();
Array.Reverse( charArray );
return new string( charArray );