截取中文字符串,做成标签。

不说了,上代码:

 

public class Functionsx { public static String abbreviate(String str, int width, String ellipsis) { if (StringUtils.isBlank(str)) { return ""; } String regex = "[/u4e00-/u9fa5/ufe30-/uffa0]+$"; int w = 0;// string width int l = 0;// string length for (char s : str.toCharArray()) { w = String.valueOf(s).matches(regex) ? w + 2 : w + 1; if (w > width) { break; } l++; } return w > width ? str.substring(0, l) + ellipsis : str.substring(0, l); } }

 

做成标签:

<?xml version="1.0" encoding="UTF-8" ?> <taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0"> <description>JSTL 1.1 functionsx library</description> <display-name>JSTL functionsx</display-name> <tlib-version>1.1</tlib-version> <short-name>fnx</short-name> <uri>http://java.sun.com/jsp/jstl/functionsx</uri> <function> <name>abbreviate</name> <function-class>com.ebiz.jsp.taglibs.fnx.Functionsx</function-class> <function-signature>java.lang.String abbreviate(java.lang.String,int,java.lang.String)</function-signature> </function> </taglib>

你可能感兴趣的:(String,Class,regex,encoding)