Java文单缩略内容截取

今天一个朋友问我如何截取文章内容中的指定长度内容,多余了就加省略号,于是随手写了方法,顺便拿出给需要的人参考下:

 1

Java文单缩略内容截取

    /** *//**
 2     *    截取字符串的前targetCount个字符
 3     * @param str 被处理字符串
 4     * @param targetCount 截取长度
 5     * @param more 后缀字符串
 6     * @version 0.1
 7     * @author aithero
 8     * @return String
 9

Java文单缩略内容截取

     
*/

10    public static String subContentString(String str, int targetCount,String more)
11

Java文单缩略内容截取

    

Java文单缩略内容截取

{
12      int initVariable = 0;
13      String restr = "";
14      if (str == null)

Java文单缩略内容截取

{
15        return "";
16      }
else if(str.length()<=targetCount)

Java文单缩略内容截取

{
17          return str;
18      }
else

Java文单缩略内容截取

{
19        char[] tempchar = str.toCharArray();
20        for (int i = 0; (i < tempchar.length && targetCount > initVariable); i++

Java文单缩略内容截取

{
21            String s1 = str.valueOf(tempchar[i]);
22            byte[] b = s1.getBytes();
23            initVariable += b.length;
24            restr += tempchar[i];
25        }

26      }

27      if (targetCount == initVariable || (targetCount == initVariable - 1))

Java文单缩略内容截取

{
28        restr += more;
29      }

30      return restr;
31

Java文单缩略内容截取

    }

32    
33

Java文单缩略内容截取

    
/** *//**
34     * 截取指定文章内容
35     * @param str
36     * @param n
37     * @author aithero
38     * @return String 
39

Java文单缩略内容截取

     
*/

40    public static String subContent(String str,int n)
41

Java文单缩略内容截取

    

Java文单缩略内容截取

{
42           //格式化字符串长度,超出部分显示省略号,区分汉字跟字母。汉字2个字节,字母数字一个字节
43            String temp= "";
44            if(str.length()<n)

Java文单缩略内容截取

{//如果长度比需要的长度n小,返回原字符串
45                return str;
46            }
else

Java文单缩略内容截取

{
47                    int t=0;
48                    char[] tempChar=str.toCharArray();
49                    for(int i=0;i<tempChar.length&&t<n;i++)
50                    

Java文单缩略内容截取

{
51                            if((int)tempChar[i]>=0x4E00 && (int)tempChar[i]<=0x9FA5)//是否汉字
52                            

Java文单缩略内容截取

{
53                                    temp+=tempChar[i];
54                                    t+=2;
55                            }

56                            else
57                            

Java文单缩略内容截取

{
58                                    temp+=tempChar[i];
59                                    t++;
60                            }

61                    }

62                    return (temp+"

Java文单缩略内容截取

");
63            }

64

Java文单缩略内容截取

    }
 
65

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wwfydg.html