extractNaturalidade function
Implementation
String extractNaturalidade(String fullText) {
final lines = fullText.split('\n');
final buffer = StringBuffer();
bool captura = false;
for (var i = 0; i < lines.length; i++) {
final line = lines[i].trim();
final lineNorm = normalizar(line);
if (!captura &&
(lineNorm.startsWith('natural de') ||
lineNorm.startsWith('naturalidade'))) {
captura = true;
final parts = line.split(':');
if (parts.length > 1) buffer.write(parts[1].trim());
continue;
}
if (captura) {
final isNovoCampo =
lineNorm.startsWith('sexo') ||
lineNorm.contains('nascimento') ||
lineNorm.contains('filiacao') ||
lineNorm.contains('bilhete') ||
lineNorm.contains('residencia') ||
lineNorm.contains('provincia') ||
lineNorm.contains('estado civil') ||
lineNorm.startsWith('nome completo');
if (isNovoCampo) break;
if (!buffer.toString().contains(line)) {
buffer.write(' ');
buffer.write(line);
}
}
}
return buffer.toString().trim();
}