public static class Program
public static void Main(string[] args)
"zit-101".parse().print();
"101-zit".parse().print();
"zit101".parse().print();
"101zit".parse().print();
public static void print(this object o) => Console.WriteLine(o.ToString());
public static (string, bool) parse(this string s)
var parts = s.Split('-');
(parts[0].IsLetterParts() && parts[1].IsDigitParts()) ||
(parts[0].IsDigitParts() && parts[1].IsLetterParts()));
public static bool IsLetterParts(this string s) =>
(s.Length == 3 || s.Length == 4) &&
s.All(c => Char.IsLetter(c));
public static bool IsDigitParts(this string s) =>
s.All(c => Char.IsDigit(c)) &&
((s[0] >= '1') && (s[0] <= '5'));