package cn.shangyu.gdxzExpert.utils; import android.text.Html; import android.text.TextUtils; import java.io.BufferedReader; import java.io.ByteArrayInputStream; import java.io.InputStream; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.Random; public class StringUtil { public static String TOPIC; public static boolean IS_PUBLISH_TOPIC = false; public static String ReplaceLike(String Cent, String Like) { // Regex objRegex = new Regex(Cent); // Cent=objRegex.replace(Cent, "" + Like + ""); Cent=Cent.replace(Like,"" + Like + ""); return Cent; } //只需要将半角字符转换为全角字符 public static String ToSBC(String input) { char c[] = input.toCharArray(); for (int i = 0; i < c.length; i++) { if (c[i] == ' ') { c[i] = '\u3000'; } else if (c[i] < '\177') { c[i] = (char) (c[i] + 65248); } } return new String(c); } //¥ 获取人民币符号 public static String getYen(){ return String.valueOf(Html.fromHtml("¥")); } public static String fenGetYuanFormat1(String fen) { if(StringUtil.isEmpty(fen)||Integer.valueOf(fen)<0.0001) { // return getYen()+"0.00"; return "免费"; } else { return getYen()+String.format("%.2f",Integer.valueOf(fen)/100.0); } } public static String fenGetYuanFormat(String fen) { if(StringUtil.isEmpty(fen)||Integer.valueOf(fen)<0.0001) { return getYen()+"0.00"; // return "免费"; } else { return getYen()+String.format("%.2f",Integer.valueOf(fen)/100.0); } } /** 判断字符串是否有值,如果为null或者是空字符串或者只有空格或者为"null"字符串,则返回true,否则则返回false */ public static boolean isEmpty(String value) { if (!TextUtils.isEmpty(value) && !"".equalsIgnoreCase(value.trim()) && !"null".equalsIgnoreCase(value.trim())) { return false; } else { return true; } } /** 判断code不为空,不为"null",并且code不等于"1" */ public static boolean isOneToCode(String code) { if (!TextUtils.isEmpty(code) && !"null".equalsIgnoreCase(code) && !"1".equals(code)) { return true; } else { return false; } } /** * 判断给定字符串是否空白串 空白串是指由空格、制表符、回车符、换行符组成的字符串 若输入字符串为null或空字符串,返回true */ public static boolean isBland(CharSequence input) { if (input == null || "".equals(input) || "null".equals(input)) return true; for (int i = 0; i < input.length(); i++) { char c = input.charAt(i); if (c != ' ' && c != '\t' && c != '\r' && c != '\n') { return false; } } return true; } /** * 处理空字符串 * * @param str * @return String */ public static String doEmpty(String str) { return doEmpty(str, ""); } /** * 处理空字符串 * * @param str * @param defaultValue * @return String */ public static String doEmpty(String str, String defaultValue) { if (str == null || str.equalsIgnoreCase("null") || str.trim().equals("") || str.trim().equals("-请选择-")) { str = defaultValue; } else if (str.startsWith("null")) { str = str.substring(4, str.length()); } return str.trim(); } /** * 请选择 */ final static String PLEASE_SELECT = "请选择..."; public static boolean notEmpty(Object o) { return o != null && !"".equals(o.toString().trim()) && !"null".equalsIgnoreCase(o.toString().trim()) && !"undefined".equalsIgnoreCase(o.toString().trim()) && !PLEASE_SELECT.equals(o.toString().trim()); } public static boolean empty(Object o) { return o == null || "".equals(o.toString().trim()) || "null".equalsIgnoreCase(o.toString().trim()) || "undefined".equalsIgnoreCase(o.toString().trim()) || PLEASE_SELECT.equals(o.toString().trim()); } public static boolean num(Object o) { int n = 0; try { n = Integer.parseInt(o.toString().trim()); } catch (NumberFormatException e) { e.printStackTrace(); } if (n > 0) { return true; } else { return false; } } public static boolean decimal(Object o) { double n = 0; try { n = Double.parseDouble(o.toString().trim()); } catch (NumberFormatException e) { e.printStackTrace(); } if (n > 0.0) { return true; } else { return false; } } /** * 给JID返回用户名 * * @param Jid * @return */ public static String getUserNameByJid(String Jid) { if (empty(Jid)) { return null; } if (!Jid.contains("@")) { return Jid; } return Jid.split("@")[0]; } /** * 给用户名返回JID * * @param jidFor * 域名//如ahic.com.cn * @param userName * @return */ public static String getJidByName(String userName, String jidFor) { if (empty(jidFor) || empty(jidFor)) { return null; } return userName + "@" + jidFor; } /** * 给用户名返回JID,使用默认域名ahic.com.cn * * @param userName * @return */ public static String getJidByName(String userName) { String jidFor = "swinner.com"; return getJidByName(userName, jidFor); } /** * 根据给定的时间字符串,返回月 日 时 分 秒 * * @param allDate * like "yyyy-MM-dd hh:mm:ss SSS" * @return */ public static String getMonthTomTime(String allDate) { return allDate.substring(5, 19); } /** * 根据给定的时间字符串,返回月 日 时 分 月到分钟 * * @param allDate * like "yyyy-MM-dd hh:mm:ss SSS" * @return */ public static String getMonthTime(String allDate) { return allDate.substring(5, 16); } /** * * 将一个字符串转化为输入流 */ public static InputStream getStringStream(String sInputString) { if (sInputString != null && !sInputString.trim().equals("")) { try { ByteArrayInputStream tInputStringStream = new ByteArrayInputStream( sInputString.getBytes()); return tInputStringStream; } catch (Exception ex) { ex.printStackTrace(); } } return null; } /** * * 将一个输入流转化为字符串 */ public static String getStreamString(InputStream tInputStream) { if (tInputStream != null) { try { BufferedReader tBufferedReader = new BufferedReader( new InputStreamReader(tInputStream)); StringBuffer tStringBuffer = new StringBuffer(); String sTempOneLine = new String(""); while ((sTempOneLine = tBufferedReader.readLine()) != null) { tStringBuffer.append(sTempOneLine); } return tStringBuffer.toString(); } catch (Exception ex) { ex.printStackTrace(); } } return null; } /** * unicode转码 * * @param theString * @return */ public static String decodeUnicode(String theString) { char aChar; int len = theString.length(); StringBuffer outBuffer = new StringBuffer(len); for (int x = 0; x < len;) { aChar = theString.charAt(x++); if (aChar == '\\') { aChar = theString.charAt(x++); if (aChar == 'u') { // Read the xxxx int value = 0; for (int i = 0; i < 4; i++) { aChar = theString.charAt(x++); switch (aChar) { case '0': case '1': case '2': case '3': case '4': case '5': case '6': case '7': case '8': case '9': value = (value << 4) + aChar - '0'; break; case 'a': case 'b': case 'c': case 'd': case 'e': case 'f': value = (value << 4) + 10 + aChar - 'a'; break; case 'A': case 'B': case 'C': case 'D': case 'E': case 'F': value = (value << 4) + 10 + aChar - 'A'; break; default: throw new IllegalArgumentException( "Malformed \\uxxxx encoding."); } } outBuffer.append((char) value); } else { if (aChar == 't') aChar = '\t'; else if (aChar == 'r') aChar = '\r'; else if (aChar == 'n') aChar = '\n'; else if (aChar == 'f') aChar = '\f'; outBuffer.append(aChar); } } else outBuffer.append(aChar); } return outBuffer.toString(); } /*** * * @param input * : 银行卡号,例如"6225880137706868" * @return */ public static String formBankCard(String input) { // String result = input.replaceAll("([\\d]{4})(?=\\d)", "$1 "); String temp = ""; int len = input.length(); switch (len) { case 16: temp = input.substring(0, 4).concat("********") .concat(input.substring(12)); break; case 17: case 18: case 19: temp = input.substring(0, 4).concat("************") .concat(input.substring(16)); break; default: String moddle = ""; for (int i = 0, j = len - 8; i < j; i++) { moddle += "*"; } temp = input.substring(0, 4).concat(moddle) .concat(input.substring(len - 4)); break; } String result = temp.replaceAll("([\\d]|[*]){4}(?!$)", "$0 "); return result; } /*** * * @param input * : 银行卡号,例如"6225880137706868" : 银行卡号,例如"***********06868" * @return */ public static String formBankCardBefore(String input) { // String result = input.replaceAll("([\\d]{4})(?=\\d)", "$1 "); String temp = ""; int len = input.length(); switch (len) { case 16: temp = input.substring(0, 0).concat("************") .concat(input.substring(12)); break; case 17: case 18: case 19: temp = input.substring(0, 0).concat("****************") .concat(input.substring(15)); break; default: String moddle = ""; for (int i = 0, j = len - 8; i < j; i++) { moddle += "*"; } temp = input.substring(0, 4).concat(moddle) .concat(input.substring(len - 4)); break; } String result = temp.replaceAll("([\\d]|[*]){4}(?!$)", "$0 "); return result; } public static int getnum() { Random random = new Random();// 定义随机类 int result = random.nextInt(9);// 返回[0,9)集合中的整数,注意不包括9 return result + 1; // +1后,[0,9)集合变为[1,10)集合,满足要求 } public static String getRandomString(int length) { String str = "abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789"; Random random = new Random(); StringBuffer sb = new StringBuffer(); for (int i = 0; i < length; i++) { int number = random.nextInt(62); sb.append(str.charAt(number)); } return sb.toString(); } /** * string 分隔 * @param content * @param len * @param k 最大分隔k组 * @return */ public static ArrayList stringArray(String content, int len,int k){ //字符串对象,分割长度 int length = content.length(); List list = new ArrayList(); //进行判断,切割的字符串长度是否能够整除切割长度 if(length%len != 0){ int i=0; for(;i) list; } }