* added truncate and truncate-by-word String methods to help with custom formats
This commit is contained in:
parent
d4a13b7eb3
commit
2bd8ffc464
|
@ -163,6 +163,28 @@ public class ExpressionFormatMethods {
|
||||||
return buffer.toString();
|
return buffer.toString();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public static String truncate(String self, int limit) {
|
||||||
|
if (limit >= self.length())
|
||||||
|
return self;
|
||||||
|
|
||||||
|
return self.substring(0, limit);
|
||||||
|
}
|
||||||
|
|
||||||
|
public static String truncate(String self, int hardLimit, String nonWordPattern) {
|
||||||
|
if (hardLimit >= self.length())
|
||||||
|
return self;
|
||||||
|
|
||||||
|
int softLimit = 0;
|
||||||
|
Matcher matcher = compile(nonWordPattern, CASE_INSENSITIVE | UNICODE_CHARACTER_CLASS).matcher(self);
|
||||||
|
while (matcher.find()) {
|
||||||
|
if (matcher.start() > hardLimit)
|
||||||
|
break;
|
||||||
|
|
||||||
|
softLimit = matcher.start();
|
||||||
|
}
|
||||||
|
return truncate(self, softLimit);
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Return substring before the given pattern.
|
* Return substring before the given pattern.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in New Issue