From e954d2174baa5ba6206b7e1715f7540941ec20a1 Mon Sep 17 00:00:00 2001 From: afischerdev Date: Tue, 29 Aug 2023 16:49:29 +0200 Subject: [PATCH] added check for from-to units --- .../main/java/btools/expressions/BExpressionContext.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/brouter-expressions/src/main/java/btools/expressions/BExpressionContext.java b/brouter-expressions/src/main/java/btools/expressions/BExpressionContext.java index cc1ab29..c2f1ad6 100644 --- a/brouter-expressions/src/main/java/btools/expressions/BExpressionContext.java +++ b/brouter-expressions/src/main/java/btools/expressions/BExpressionContext.java @@ -573,8 +573,13 @@ public abstract class BExpressionContext implements IByteArrayUnifier { value = value.replaceAll("’", "'"); value = value.replaceAll("”", "\""); if (value.indexOf("-") == 0) value = value.substring(1); - if (value.contains("-")) { // replace eg. 1.4-1.6 m but also 1'-6" - value = value.substring(0, value.indexOf("-")); // + tmp; + if (value.contains("-")) { + // replace eg. 1.4-1.6 m to 1.4m + // but also 1'-6" to 1' + // keep the unit of measure + String tmp = value.substring(value.indexOf("-") + 1).replaceAll("[0-9.,-]", ""); + value = value.substring(0, value.indexOf("-")); + if (value.matches("\\d+(\\.\\d+)?")) value += tmp; } value = value.toLowerCase(Locale.US);