public StraatAdres ParseAddress(string row) { StraatAdres straatAdres = new StraatAdres(); straatAdres.Straatnaam = string.Empty; straatAdres.HuisnummerToevoeging = string.Empty; string adres = row.Split(new[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => WebUtility.HtmlDecode(x.Trim())).First(); string[] adressParts = adres.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); bool huisnummerFound = false; int huisnr; if (adressParts.All(x => int.TryParse(x, out huisnr) == false)) { straatAdres.Straatnaam = string.Join(" ", adressParts); } else { for (int i = adressParts.Length - 1; i >= 0; i--) { var part = adressParts[i]; if (!huisnummerFound && int.TryParse(part, out huisnr)) { huisnummerFound = true; straatAdres.Huisnummer = huisnr; continue; } if (huisnummerFound) { straatAdres.Straatnaam = part + " " + straatAdres.Straatnaam; } else { straatAdres.HuisnummerToevoeging = part + " " + straatAdres.HuisnummerToevoeging; } } straatAdres.HuisnummerToevoeging = straatAdres.HuisnummerToevoeging.Trim(); straatAdres.Straatnaam = straatAdres.Straatnaam.Trim(); } return(straatAdres); }
public StraatAdres ParseAddress(string row) { StraatAdres straatAdres = new StraatAdres(); straatAdres.Straatnaam = string.Empty; straatAdres.HuisnummerToevoeging = string.Empty; string adres = row.Split(new[] { "\n", "\r\n" }, StringSplitOptions.RemoveEmptyEntries).Select(x => WebUtility.HtmlDecode (x.Trim())).First(); string[] adressParts = adres.Split(new[] { ' ' }, StringSplitOptions.RemoveEmptyEntries); bool huisnummerFound = false; int huisnr; if (adressParts.All(x => int.TryParse(x, out huisnr) == false)) { straatAdres.Straatnaam = string.Join(" ", adressParts); } else { for (int i = adressParts.Length - 1; i >= 0; i--) { var part = adressParts[i]; if (!huisnummerFound && int.TryParse(part, out huisnr)) { huisnummerFound = true; straatAdres.Huisnummer = huisnr; continue; } if (huisnummerFound) { straatAdres.Straatnaam = part + " " + straatAdres.Straatnaam; } else { straatAdres.HuisnummerToevoeging = part + " " + straatAdres.HuisnummerToevoeging; } } straatAdres.HuisnummerToevoeging = straatAdres.HuisnummerToevoeging.Trim(); straatAdres.Straatnaam = straatAdres.Straatnaam.Trim(); } return straatAdres; }