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

不说了,上代码:

 

 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>


原文链接: http://blog.csdn.net/kimsoft/article/details/4793975

你可能感兴趣的:(截取中文字符串,做成标签。)