diff --git a/src/main/java/com/tupilabs/human_name_parser/HumanNameParserBuilder.java b/src/main/java/com/tupilabs/human_name_parser/HumanNameParserBuilder.java index 7d34113..7eacda0 100644 --- a/src/main/java/com/tupilabs/human_name_parser/HumanNameParserBuilder.java +++ b/src/main/java/com/tupilabs/human_name_parser/HumanNameParserBuilder.java @@ -137,16 +137,16 @@ public HumanNameParserBuilder(Name name) { */ public HumanNameParserParser build() { if (this.salutations == null) { - this.salutations = DEFAULT_SALUTATIONS; + this.salutations = formatToRegex(DEFAULT_SALUTATIONS); } if (this.postnominals == null) { - this.postnominals = DEFAULT_POSTNOMINALS; + this.postnominals = formatToRegex(DEFAULT_POSTNOMINALS); } if (this.prefixes == null) { - this.prefixes = DEFAULT_PREFIXES; + this.prefixes = formatToRegex(DEFAULT_PREFIXES); } if (this.suffixes == null) { - this.suffixes = DEFAULT_SUFFIXES; + this.suffixes = formatToRegex(DEFAULT_SUFFIXES); } final HumanNameParserParser parser = new HumanNameParserParser( name, @@ -159,6 +159,14 @@ public HumanNameParserParser build() { return parser; } + private List formatToRegex(List list) { + List regexList = new ArrayList<>(); + for (String s : list) { + regexList.add(s.replace(".", "\\.")); + } + return regexList; + } + // salutations public HumanNameParserBuilder withSalutations(List salutations) { diff --git a/src/test/java/com/tupilabs/human_name_parser/BuilderTest.java b/src/test/java/com/tupilabs/human_name_parser/BuilderTest.java index b2d411e..00b3589 100644 --- a/src/test/java/com/tupilabs/human_name_parser/BuilderTest.java +++ b/src/test/java/com/tupilabs/human_name_parser/BuilderTest.java @@ -141,6 +141,14 @@ public void testExtraSalutations() { assertTrue(parser.salutations.contains("sinho")); } + @Test + public void testLastNameNotMistakenForPostnominal() { + HumanNameParserBuilder builder = new HumanNameParserBuilder("ruvin phidd"); + HumanNameParserParser parser = builder.build(); + assertTrue(parser.getFirst().contains("ruvin")); + assertTrue(parser.getLast().contains("phidd")); + } + // validations @Test