public QuatroPartes Analisar(IValidador val) { if (partes.Length > 4) { Char[] caracteres = linha.ToCharArray(); for (int i = ultimoSeparadorFalso; i > 0; i--) { if (val.validar(caracteres, i)) { ultimoSeparadorReal = val.posicao(); break; } } terceiraParte = linha.Substring(segundoSeparador + 1, ultimoSeparadorReal - segundoSeparador - 1); quartaParte = linha.Substring(ultimoSeparadorReal + 1, linha.Length - ultimoSeparadorReal - 1); } else { terceiraParte = partes[2]; quartaParte = partes[3]; } return(new QuatroPartes(primeira: primeiraParte, segunda: segundaParte, terceira: terceiraParte, quarta: quartaParte)); }