private void SetProperties(string raw) { if (SixDigitOsGridRefRegex.IsMatch(raw)) { SixFigure = raw; TenFigure = $"{raw.Substring(0, 5)}00{raw.Substring(5)}00"; } else if (TenDigitOsGridRefRegex.IsMatch(raw)) { SixFigure = $"{raw.Substring(0, 5)}{raw.Substring(7, 3)}"; TenFigure = raw; } else if (SixDigitIrishGridRefRegex.IsMatch(raw)) { SixFigure = raw; TenFigure = $"{raw.Substring(0, 4)}00{raw.Substring(4)}00"; } else if (TenDigitIrishGridRefRegex.IsMatch(raw)) { SixFigure = $"{raw.Substring(0, 4)}{raw.Substring(6, 3)}"; TenFigure = raw; } else { throw new ArgumentException($"{raw} is not a valid grid reference."); } }
public static bool IsValid(string s) { if (string.IsNullOrWhiteSpace(s)) { return(false); } return (SixDigitOsGridRefRegex.IsMatch(s) || TenDigitOsGridRefRegex.IsMatch(s) || SixDigitIrishGridRefRegex.IsMatch(s) || TenDigitIrishGridRefRegex.IsMatch(s)); }