1 package com.hughes.android.dictionary;
\r
3 import java.util.regex.Pattern;
\r
5 public final class Entry {
\r
7 static final byte LANG1 = 0;
\r
8 static final byte LANG2 = 1;
\r
10 static final Pattern lineSplitPattern = Pattern.compile("\\s+::\\s+");
\r
15 boolean parseFromLine(final String line) {
\r
16 final String[] parts = lineSplitPattern.split(line);
\r
17 if (parts.length != 2) {
\r
18 System.err.println("Entry:" + "Invalid line: " + line);
\r
26 String getAllText(final byte lang) {
\r
27 if (lang == LANG1) {
\r
30 assert lang == LANG2;
\r
34 String getIndexableText(final byte lang) {
\r
35 String text = getAllText(lang);
\r
36 text = text.replaceAll("[\"\\.!?,]", "");
\r
37 text = text.replaceAll("\\{[^}]+\\}", "");
\r
41 public String normalizeToken(final String token, final byte lang) {
\r
42 return token.toLowerCase().replaceAll("ß", "ss").replaceAll("ä", "ae")
\r
43 .replaceAll("ö", "oe").replaceAll("ü", "ue")
\r
44 .replaceAll("[^A-Za-z]", "");
\r