javaepub 去电子书每行首尾符号排版

mac2025-04-04  11

//javaepub 去电子书每行首尾符号排版 // String content(内容), int number(每行显示字数), int row(每页显示行数) public static List createTextJava1(String content, int number, int row){ String s1 = content.replaceAll("", “\n”); List t = new ArrayList<>(); t.add(’,’); t.add(’。’); t.add(’,’); t.add(’.’); t.add(’”’); t.add(’!’); t.add(’?’); t.add(’、’); t.add(’)’); t.add(’}’); t.add(’]’); t.add(’;’); t.add(’;’); t.add(’:’); t.add(’:’); t.add(’“’); t.add(’?’);t.add(’!’); t.add(’《’);t.add(’》’); boolean v = false; boolean k = false; boolean m = false; StringBuilder sb=new StringBuilder(s1); int count=0; for(int i=0;i<sb.length();i++){

if(sb.charAt(i)=='\n'){ count=0; }else if(count == number){ m = t.contains(sb.charAt(i-1)); k = t.contains(sb.charAt(i)); v = t.contains(sb.charAt(i-2)); if (v==true && m==true && k==true){

// sb.insert(i-3, " "); sb.insert(i-3, “\n”); i=i-3; }else if (vtrue && mtrue && kfalse){ // sb.insert(i-3, " "); sb.insert(i-3, “\n”); i=i-3; }else if(vtrue && mfalse && ktrue){ // sb.insert(i-3, " "); sb.insert(i-3, “\n”); i=i-3; } else if(vfalse && mfalse && ktrue){ sb.insert(i-1, “\n”); i=i-1; }else if(vfalse && mtrue && ktrue){ // sb.insert(i-2, " "); sb.insert(i-2, “\n”); i=i-2; }else if(vfalse && mtrue && k==false){ // sb.insert(i-2, " "); sb.insert(i-2, “\n”); i=i-2; }else { sb.insert(i-1, “\n”); i=i-1;

} m=false; k=false; v=false; count=0; }else{ count++; } } content=sb.toString(); content= BCConvert.bj2qj(content);//转换为全角 String []s= content.split("\n");//按照换行符分割,每行作为有一个元素存进数组中 List<String> list1=new ArrayList<String>();//每个元素为一页的集合 StringBuilder sb2=new StringBuilder(); for(int i=0;i<s.length;i++){ sb2.append(s[i]+"<br>"); if(i!=0&&(i+1)%row==0){ list1.add(sb2.toString()); sb2.setLength(0); } if(i==s.length-1){ list1.add(sb2.toString()); } } return list1; }
最新回复(0)