summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/org/unitConverter/UnitsDatabase.java19
1 files changed, 5 insertions, 14 deletions
diff --git a/src/org/unitConverter/UnitsDatabase.java b/src/org/unitConverter/UnitsDatabase.java
index dcc98df..520195c 100644
--- a/src/org/unitConverter/UnitsDatabase.java
+++ b/src/org/unitConverter/UnitsDatabase.java
@@ -1121,13 +1121,13 @@ public final class UnitsDatabase {
}
// divide line into name and expression
- final String[] parts = line.split("\t");
- if (parts.length < 2)
+ final Matcher lineMatcher = NAME_EXPRESSION.matcher(line);
+ if (!lineMatcher.matches())
throw new IllegalArgumentException(String.format(
- "Lines must consist of a dimension name and its definition, separated by tab(s) (line %d).",
+ "Error at line %d: Lines of a dimension file must consist of a dimension name, then spaces or tabs, then a dimension expression.",
lineCounter));
- final String name = parts[0];
- final String expression = parts[parts.length - 1];
+ final String name = lineMatcher.group(1);
+ final String expression = lineMatcher.group(2);
if (name.endsWith(" ")) {
System.err.printf("Warning - line %d's dimension name ends in a space", lineCounter);
@@ -1215,15 +1215,6 @@ public final class UnitsDatabase {
final String name = lineMatcher.group(1);
final String expression = lineMatcher.group(2);
- // divide line into name and expression
- // final String[] parts = line.split("\t");
- // if (parts.length < 2)
- // throw new IllegalArgumentException(String.format(
- // "Lines must consist of a unit name and its definition, separated by tab(s) (line %d).",
- // lineCounter));
- // final String name = parts[0];
- // final String expression = parts[parts.length - 1];
-
if (name.endsWith(" ")) {
System.err.printf("Warning - line %d's unit name ends in a space", lineCounter);
}