package com.fpcms.common.util; import java.util.ArrayList; import java.util.Date; import java.util.List; import java.util.ListIterator; import org.apache.commons.lang.StringUtils; import org.apache.commons.lang.time.DateUtils; import org.springframework.util.Assert; import com.github.rapid.common.util.DateConvertUtil; public class StringHelper { /** * 得到昨天文章的外链 * @param site * @return */ public static String getYesterdayOuterLinked(String site) { return getOuterLinked(site,DateUtils.addDays(new Date(),-1)); } public static String getOuterLinked(String site,Date date) { return "http://"+site+"/linked/"+DateConvertUtil.format(date, "yyyyMMdd")+".do"; } public static List<String> removeEmptyLines(List<String> lines) { if(lines == null) return null; List<String> result = new ArrayList<String>(); for(int i = 0; i < lines.size(); i++) { if(StringUtils.isNotBlank(lines.get(i))) { result.add(lines.get(i)); } } return result; } public static String getMetaDescription(String content) { //FIXME 生成的东西太多英文字符 if(StringUtils.isBlank(content)) { return content; } String replaced = content.replaceAll("</\\w+>", "").replaceAll("&\\w+;", "").replaceAll("<.*?>", "").replaceAll("\\s", ""); return replaced.substring(0,Math.min(replaced.length(),200)); // String[] array = org.springframeworenizeToStringArray(content, KeywordUtil.DELIMITERS); // return StringUtils.join(array,",").substring(0,200); } public static void removeRegexMatch(List<String> list, String regex) { for(ListIterator<String> it = list.listIterator();it.hasNext();) { String keyword = it.next(); if(keyword.matches(regex)) { it.remove(); } } } public static int indexOf(StringBuilder str,int fromIndex,String... chars) { for(String ch : chars) { int index = str.indexOf(ch,fromIndex); if(index >= 0) { return index; } } return -1; } public static String insertAfter(String string,String insertContent,String... afterTags) { Assert.notNull(string,"string must be not Null"); Assert.notNull(insertContent,"insertContent must be not Null"); Assert.notEmpty(afterTags,"afterTags must be not Empty"); StringBuilder result = new StringBuilder(string); int fromIndex = 0; int index = StringHelper.indexOf(result,fromIndex,afterTags); if(index >= 0) { fromIndex = index + 1 + insertContent.length(); result.insert(index + 1, insertContent); } return result.toString(); } }