equal
deleted
inserted
replaced
131 public static String repeat(char ch, int count) { |
131 public static String repeat(char ch, int count) { |
132 char[] array = new char[count]; |
132 char[] array = new char[count]; |
133 Arrays.fill(array, ch); |
133 Arrays.fill(array, ch); |
134 return new String(array); |
134 return new String(array); |
135 } |
135 } |
136 |
|
137 /** |
|
138 * @param original any text |
|
139 * @return escaped text that can be used as part of an regular expression, matches the original |
|
140 * text |
|
141 */ |
|
142 public static String escapeRegEx(String original) { |
|
143 StringBuilder escaped = new StringBuilder(original.length() * 3); |
|
144 |
|
145 escaped.append("\\Q"); // start quotation |
|
146 for (int i = 0; i < original.length(); i++) { |
|
147 char ch = original.charAt(i); |
|
148 if (ch == 'E' && i > 0 && original.charAt(i - 1) == '\\') { |
|
149 escaped.append(ch); // this unintentionally ends quotation |
|
150 escaped.append("\\\\E"); // insert escaped \E (eaten before) |
|
151 escaped.append("\\Q"); // re-start quotation |
|
152 } else { |
|
153 escaped.append(ch); |
|
154 } |
|
155 |
|
156 } |
|
157 escaped.append("\\E"); // end quotation |
|
158 |
|
159 return escaped.toString(); |
|
160 } |
|
161 } |
136 } |