日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪(fǎng)問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

StringUtil 字符串处理工具

發(fā)布時(shí)間:2023/12/9 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 StringUtil 字符串处理工具 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一個(gè)字符串處理的工具類(lèi)(●’?’●)
包含以下功能:

判斷應(yīng)用程序是否安裝
字符拆分成數(shù)組
MD5 加密
拼接后的字符串
替換字符串
判斷多個(gè)參數(shù)是否都為空
將字符串轉(zhuǎn)換成HTML格式的字符串
將HTML格式的字符串轉(zhuǎn)換成常規(guī)顯示的字符串
獲取加密的手機(jī)號(hào)
檢查手機(jī)號(hào)
驗(yàn)證固定電話(huà)號(hào)碼
檢查密碼有效
根據(jù)string.xml資源格式化字符串
驗(yàn)證身份證號(hào)碼
將元單位數(shù)字轉(zhuǎn)成int類(lèi)型的元
格式化數(shù)字
數(shù)字轉(zhuǎn)成以萬(wàn)、億為單位,1.0–>1; 1.1–>1.1
將一字符串?dāng)?shù)組以某特定的字符串作為分隔來(lái)變成字符串
驗(yàn)證字符串合法性
將數(shù)值型字符串轉(zhuǎn)換成Integer型
將數(shù)值型轉(zhuǎn)換成字符串
比較兩字符串大小(ASCII碼順序)
將阿拉伯?dāng)?shù)字的錢(qián)數(shù)轉(zhuǎn)換成中文方式
將字符串的首字母改為大寫(xiě)
判斷l(xiāng)ist中是否包含某一個(gè)字符串
list轉(zhuǎn)String
String轉(zhuǎn)list 去除null 空串
根據(jù)Resource ID獲取字符串
將浮點(diǎn)數(shù)進(jìn)行四舍五入
去除字符串前后的空格
去除轉(zhuǎn)義
添加url參數(shù)
設(shè)置一段不同顏色的文字
字符拆分
截取指定size的String
轉(zhuǎn)碼中文字符串
用來(lái)比較手機(jī)號(hào)版本
截取指定長(zhǎng)度 從0開(kāi)始,包左不包右
是否有中文字符
?

public class StringUtil { public static int DEFAULT_INT = -100; /** 判斷應(yīng)用程序是否安裝*/ public static boolean isPkgInstalled(String pkgName, Context context) { PackageInfo packageInfo = null; try { packageInfo = context.getPackageManager() .getPackageInfo(pkgName, 0); } catch (NameNotFoundException e) { packageInfo = null; e.printStackTrace(); } return packageInfo != null; } /** 字符拆分成數(shù)組*/ public static String getStrSplitByCondition(String str, String split, String condition) { String[] cookieArr = str.split(split); String result = ""; for (int i = 0; i < cookieArr.length; i++) { Log.i("ss", "___________________________cookieArr[" + i + "]:" + cookieArr[i]); if (cookieArr[i].contains(condition)) { Log.i("ss", "________________________________cookieArr[" + i + "]:" + cookieArr[i]); return cookieArr[i]; } } return result; } /** MD5 加密*/ public static String getSign(String signStr) { StringBuffer buf = new StringBuffer(""); try { MessageDigest md = MessageDigest.getInstance("MD5"); md.update(signStr.getBytes()); byte b[] = md.digest(); int i; for (byte aB : b) { i = aB; if (i < 0) i += 256; if (i < 16) buf.append("0"); buf.append(Integer.toHexString(i)); } } catch (NoSuchAlgorithmException e) { // TODO Auto-generated catch block e.printStackTrace(); } String sign = buf.toString(); return sign; } /*** @param obj* @return 拼接后的字符串*/ public static String copy(Object... obj) { StringBuffer mStringBuffer = new StringBuffer(); for (Object anObj : obj) { mStringBuffer.append(anObj); } return mStringBuffer.toString(); } /*** 替換字符串** @param strSc 需要進(jìn)行替換的字符串* @param oldStr 源字符串* @param newStr 替換后的字符串* @return 替換后對(duì)應(yīng)的字符串* @since 1.1*/ public static String replace(String strSc, String oldStr, String newStr) { String ret = strSc; if (ret != null && oldStr != null && newStr != null) { ret = strSc.replaceAll(oldStr, newStr); } return ret; } public static String getSplitString(String srcString, String split) { StringBuilder stringBuilder = new StringBuilder(srcString); for (int i = 4; i < stringBuilder.length(); i += 5) { stringBuilder.insert(i, split); } return stringBuilder.toString(); } public static boolean isContain(String strSc, String str, String splitStr) { String split = ","; if (!isNull(splitStr)) { split = splitStr; } if (!isNull(strSc, str)) { String[] strs = strSc.split(split); for (String newStr : strs) { if (newStr.trim().equals(str)) { return true; } } } return false; } public static String subZeroAndDot(String s) { if (s.indexOf(".") > 0) { s = s.replaceAll("0+?$", "");//去掉多余的0 s = s.replaceAll("[.]$", "");//如最后一位是.則去掉 } return s; } /*** 判斷多個(gè)參數(shù)是否都為空** @param strArray* @return*/ public static boolean isNull(Object... strArray) { boolean result = false; for (Object str : strArray) { if (isEmpty(str)) { result = true; break; } else { result = false; } } return result; } /*** 判斷多個(gè)參數(shù)是否為空** @param str* @return*/ public static boolean isEmpty(Object str) { return ("").equals(str) || str == null; } /*** 替換字符串,修復(fù)java.lang.String類(lèi)的replaceAll方法時(shí)第一參數(shù)是字符串常量正則時(shí)(如:"address".* replaceAll("dd","$");)的拋出異常:java.lang.StringIndexOutOfBoundsException:* String index out of range: 1的問(wèn)題。** @param strSc 需要進(jìn)行替換的字符串* @param oldStr 源字符串* @param newStr 替換后的字符串* @return 替換后對(duì)應(yīng)的字符串* @since 1.2*/ public static String replaceAll(String strSc, String oldStr, String newStr) { int i = -1; while ((i = strSc.indexOf(oldStr)) != -1) { strSc = new StringBuffer(strSc.substring(0, i)).append(newStr) .append(strSc.substring(i + oldStr.length())).toString(); } return strSc; } /*** 將字符串轉(zhuǎn)換成HTML格式的字符串** @param str 需要進(jìn)行轉(zhuǎn)換的字符串* @return 轉(zhuǎn)換后的字符串* @since 1.1*/ public static String toHtml(String str) { String html = str; if (str == null || str.length() == 0) { return ""; } else { html = replace(html, "&", "&amp;"); html = replace(html, "<", "&lt;"); html = replace(html, ">", "&gt;"); html = replace(html, "\r\n", "\n"); html = replace(html, "\n", "<br>\n"); html = replace(html, "\"", "&quot;"); html = replace(html, " ", "&nbsp;"); return html; } } /*** 將HTML格式的字符串轉(zhuǎn)換成常規(guī)顯示的字符串** @param str 需要進(jìn)行轉(zhuǎn)換的字符串* @return 轉(zhuǎn)換后的字符串* @since 1.1*/ public static String toText(String str) { String text = str; if (str == null || str.length() == 0) { return ""; } else { text = replace(text, "&amp;", "&"); text = replace(text, "&lt;", "<"); text = replace(text, "&gt;", ">"); text = replace(text, "<br>\n", "\n"); text = replace(text, "<br>", "\n"); text = replace(text, "&quot;", "\""); text = replace(text, "&nbsp;", " "); text = replace(text, "&ldquo;", "“"); text = replace(text, "&rdquo;", "”"); return text; } } /*** 獲取加密的手機(jī)號(hào)** @param phoneNum* @return*/ public static String getEncryptMobile(String phoneNum) { if (!checkMobile(phoneNum)) { return phoneNum; } StringBuilder stringBuilder = new StringBuilder(phoneNum.substring(0, 3)); stringBuilder.append("****"); stringBuilder.append(phoneNum.substring(7)); return stringBuilder.toString(); } /*** 檢查手機(jī)號(hào)** @param phoneNum* @return*/ public static boolean checkMobile(String phoneNum) { Pattern p = Pattern.compile("^1[3|4|5|7|8]\\d{9}$"); Matcher m = p.matcher(phoneNum); return m.matches(); } /*** 驗(yàn)證固定電話(huà)號(hào)碼** @param phone 電話(huà)號(hào)碼,格式:國(guó)家(地區(qū))電話(huà)代碼 + 區(qū)號(hào)(城市代碼) + 電話(huà)號(hào)碼,如:+8602085588447* <p><b>國(guó)家(地區(qū)) 代碼 :</b>標(biāo)識(shí)電話(huà)號(hào)碼的國(guó)家(地區(qū))的標(biāo)準(zhǔn)國(guó)家(地區(qū))代碼。它包含從 0 到 9 的一位或多位數(shù)字,* 數(shù)字之后是空格分隔的國(guó)家(地區(qū))代碼。</p>* <p><b>區(qū)號(hào)(城市代碼):</b>這可能包含一個(gè)或多個(gè)從 0 到 9 的數(shù)字,地區(qū)或城市代碼放在圓括號(hào)——* 對(duì)不使用地區(qū)或城市代碼的國(guó)家(地區(qū)),則省略該組件。</p>* <p><b>電話(huà)號(hào)碼:</b>這包含從 0 到 9 的一個(gè)或多個(gè)數(shù)字 </p>* @return 驗(yàn)證成功返回true,驗(yàn)證失敗返回false*/ public static boolean checkPhone(String phone) { if (phone.length() != 11 || (!TextUtils.isEmpty(phone) && !phone.startsWith("1"))) { return false; } String regex = "(\\+\\d+)?(\\d{3,4}\\-?)?\\d{7,8}$"; return Pattern.matches(regex, phone); } /*** 檢查密碼有效* 大于6位包含數(shù)字小寫(xiě)字母和大寫(xiě)字母** @param pass* @return*/ public static boolean checkPass(String pass) { boolean match = !TextUtils.isEmpty(pass) && pass.length() > 6; //檢查位數(shù) if (match) { String[] patterns = new String[]{"[0-9]+", "[a-zA-Z]+"}; for (String patternStr : patterns) { Pattern pattern = Pattern.compile(patternStr); Matcher matcher = pattern.matcher(pass); matcher.reset().usePattern(pattern); if (!matcher.find()) { match = false; break; } } } return match; } /*** 根據(jù)string.xml資源格式化字符串** @param context* @param resource* @param args* @return*/ public static String formatResourceString(Context context, int resource, Object... args) { String str = context.getResources().getString(resource); if (TextUtils.isEmpty(str)) { return null; } return String.format(str, args); } /*** 驗(yàn)證身份證號(hào)碼** @param idCard 居民身份證號(hào)碼15位或18位,最后一位可能是數(shù)字或字母* @return 驗(yàn)證成功返回true,驗(yàn)證失敗返回false*/ public static boolean checkIdCard(String idCard) { if (idCard.length() != 15 && idCard.length() != 18) { return false; } String regex = "[1-9]\\d{13,16}[a-zA-Z0-9]{1}"; return Pattern.matches(regex, idCard); } /*** 將元單位數(shù)字轉(zhuǎn)成int類(lèi)型的元** @param numStr*/ public static int numStrToInt(String numStr) { int num = 0; try { if (!TextUtils.isEmpty(numStr)) { num = Integer.valueOf(numStr); } } catch (Exception e) { e.printStackTrace(); } return num; } /*** 格式化數(shù)字** @param num (int)*/ public static String simpleFormat(int num) { DecimalFormat df = new DecimalFormat("#.#"); StringBuilder numFormat = new StringBuilder(); double numDouble; if (num > 1000 && num < 10000) {//1千以上 numDouble = num / 1000d; numFormat.append(df.format(numDouble)).append("k"); } else if (num > 10000) { // 萬(wàn)以上 numDouble = num / 10000d; numFormat.append(df.format(numDouble)).append("w"); } else { numFormat.append(num); } return numFormat.toString(); } /*** 數(shù)字轉(zhuǎn)成以萬(wàn)、億為單位,1.0-->1; 1.1-->1.1** @param numStr (String)*/ public static String newNumFormat(String numStr) { try { long num = Integer.valueOf(numStr); return newNumFormat(num); } catch (Exception e) { e.printStackTrace(); return numStr; } } /*** 數(shù)字轉(zhuǎn)成以萬(wàn)、億為單位,1.0-->1; 1.1-->1.1** @param num (int)*/ public static String newNumFormat(long num) { DecimalFormat df = new DecimalFormat("#.#"); StringBuilder numFormat = new StringBuilder(); double numDouble; if (num <= 1000000 && num > 10000) { // 萬(wàn)以上 numDouble = num / 10000d; numFormat.append(df.format(numDouble)).append("萬(wàn)"); } else if (num > 1000000) { // 百萬(wàn)以上 numDouble = num / 1000000d; numFormat.append(df.format(numDouble)).append("百萬(wàn)"); } else { numFormat.append(num); } return numFormat.toString(); } /*** 將一字符串?dāng)?shù)組以某特定的字符串作為分隔來(lái)變成字符串** @param strs 字符串?dāng)?shù)組* @param token 分隔字符串* @return 以token為分隔的字符串* @since 1.0*/ public static String join(String[] strs, String token) { if (strs == null) return null; StringBuffer sb = new StringBuffer(); for (int i = 0; i < strs.length; i++) { if (i != 0) sb.append(token); sb.append(strs[i]); } return sb.toString(); } /*** 將一字符串以某特定的字符串作為分隔來(lái)變成字符串?dāng)?shù)組** @param str 需要拆分的字符串("@12@34@56")* @param token 分隔字符串("@")* @return 以token為分隔的拆分開(kāi)的字符串?dāng)?shù)組* @since 1.0*/ public static String[] split(String str, String token) { String temp = str.substring(1, str.length()); return temp.split(token); } /*** 驗(yàn)證字符串合法性** @param str 需要驗(yàn)證的字符串* @param test 非法字符串(如:"~!#$%^&*()',;:?")* @return true:非法;false:合法* @since 1.0*/ public static boolean check(String str, String test) { if (str == null || str.equals("")) return true; boolean flag = false; for (int i = 0; i < test.length(); i++) { if (str.indexOf(test.charAt(i)) != -1) { flag = true; break; } } return flag; } /*** 將數(shù)值型字符串轉(zhuǎn)換成Integer型** @param str 需要轉(zhuǎn)換的字符型字符串* @param defaultValue 轉(zhuǎn)換失敗時(shí)返回的值* @return 成功則返回轉(zhuǎn)換后的Integer型值;失敗則返回ret* @since 1.0*/ public static Integer String2Integer(String str, Integer defaultValue) { if (TextUtils.isEmpty(str)) { return defaultValue; } try { return Integer.parseInt(str); } catch (NumberFormatException e) { return defaultValue; } } /*** has already set default int value in the method body.** @param str input string to convert to integer value* @return str's int value,if empty return default value*/ public static Integer String2Integer(String str) { return String2Integer(str, DEFAULT_INT); } public static long getLongValue(Object o, long defaultValue) { if (!isNull(o)) { try { return Long.parseLong(String.valueOf(o)); } catch (Exception e) { } } return defaultValue; } /*** 將數(shù)值型轉(zhuǎn)換成字符串** @param it 需要轉(zhuǎn)換的Integer型值* @param ret 轉(zhuǎn)換失敗的返回值* @return 成功則返回轉(zhuǎn)換后的字符串;失敗則返回ret* @since 1.0*/ public static String Integer2String(Integer it, String ret) { try { return Integer.toString(it); } catch (NumberFormatException e) { return ret; } } /*** 比較兩字符串大小(ASCII碼順序)** @param str1 參與比較的字符串1* @param str2 參與比較的字符串2* @return str1>str2:1;str1<str2:-1;str1=str2:0* @since 1.1*/ public static int compare(String str1, String str2) {// if (str1.equals(str2)) { return 0; } int str1Length = str1.length(); int str2Length = str2.length(); int length = 0; if (str1Length > str2Length) { length = str2Length; } else { length = str1Length; } for (int i = 0; i < length; i++) { if (str1.charAt(i) > str2.charAt(i)) { return 1; } } return -1; } /*** 將阿拉伯?dāng)?shù)字的錢(qián)數(shù)轉(zhuǎn)換成中文方式** @param num 需要轉(zhuǎn)換的錢(qián)的阿拉伯?dāng)?shù)字形式* @return 轉(zhuǎn)換后的中文形式* @since 1.1*/ public static String num2Chinese(double num) { String result = ""; String str = Double.toString(num); if (str.contains(".")) { String begin = str.substring(0, str.indexOf(".")); String end = str.substring(str.indexOf(".") + 1, str.length()); byte[] b = begin.getBytes(); int j = b.length; for (int i = 0, k = j; i < j; i++, k--) { result += getConvert(begin.charAt(i)); if (!"零".equals(result.charAt(result.length() - 1) + "")) { result += getWei(k); } System.out.println(result); } for (int i = 0; i < result.length(); i++) { result = result.replaceAll("零零", "零"); } if ("零".equals(result.charAt(result.length() - 1) + "")) { result = result.substring(0, result.length() - 1); } result += "元"; byte[] bb = end.getBytes(); int jj = bb.length; for (int i = 0, k = jj; i < jj; i++, k--) { result += getConvert(end.charAt(i)); if (bb.length == 1) { result += "角"; } else if (bb.length == 2) { result += getFloat(k); } } } else { byte[] b = str.getBytes(); int j = b.length; for (int i = 0, k = j; i < j; i++, k--) { result += getConvert(str.charAt(i)); result += getWei(k); } } return result; } public static String getString(String str, int count) { if (!(str.charAt(count - 1) >= 'a' && str.charAt(count - 1) <= 'z' || str.charAt(count - 1) >= 'A' && str.charAt(count - 1) <= 'Z')) return str.substring(0, count - 1); else return str.substring(0, count); } private static String getConvert(char num) { if (num == '0') { return "零"; } else if (num == '1') { return "一"; } else if (num == '2') { return "二"; } else if (num == '3') { return "三"; } else if (num == '4') { return "四"; } else if (num == '5') { return "五"; } else if (num == '6') { return "六"; } else if (num == '7') { return "七"; } else if (num == '8') { return "八"; } else if (num == '9') { return "九"; } else { return ""; } } private static String getFloat(int num) { if (num == 2) { return "角"; } else if (num == 1) { return "分"; } else { return ""; } } private static String getWei(int num) { if (num == 1) { return ""; } else if (num == 2) { return "十"; } else if (num == 3) { return "百"; } else if (num == 4) { return "千"; } else if (num == 5) { return "萬(wàn)"; } else if (num == 6) { return "十"; } else if (num == 7) { return "百"; } else if (num == 8) { return "千"; } else if (num == 9) { return "億"; } else if (num == 10) { return "十"; } else if (num == 11) { return "百"; } else if (num == 12) { return "千"; } else if (num == 13) { return "兆"; } else { return ""; } } /*** 將字符串的首字母改為大寫(xiě)** @param str 需要改寫(xiě)的字符串* @return 改寫(xiě)后的字符串* @since 1.2*/ public static String firstToUpper(String str) { return str.substring(0, 1).toUpperCase() + str.substring(1); } /*** 判斷l(xiāng)ist中是否包含某一個(gè)字符串** @param str1* @return*/ public static boolean listContain(List list, String str1) { return !(list == null || list.size() == 0) && list.contains(str1); } /*** list轉(zhuǎn)String** @param list* @param sign 分隔符號(hào)* @return*/ public static String List2String(List<String> list, String sign) { if (list == null || list.size() == 0) return null; StringBuffer sb = new StringBuffer(); for (String string : list) { sb.append(string).append(sign); } return sb.substring(0, sb.length() - 1); } /*** String轉(zhuǎn)list 去除null 空串** @param target* @param sign 分隔符號(hào)* @return*/ public static List<String> String2List(String target, String sign) { List<String> usersList = new ArrayList<String>(); if (!StringUtil.isEmpty(target)) { String[] vs = target.split(sign); for (String v : vs) { if (!StringUtil.isEmpty(v)) usersList.add(v); } } return usersList; } public static String escapeHtmlSign(String value) { if (value == null) return null; if (value instanceof String) { String result = value; // "'<>& result = result.replaceAll("&", "&amp;").replaceAll(">", "&gt;") .replaceAll("<", "&lt;").replaceAll("\"", "&quot;") .replaceAll("'", "&#39;"); return result; } else { return value; } } public static String unEscapeHtmlSign(String value) { if (value == null) return null; if (value instanceof String) { String result = value; // "'<>& result = result.replaceAll("&amp;", "&").replaceAll("&gt;", ">") .replaceAll("&lt;", "<").replaceAll("&quot;", "\"") .replaceAll("&#39;", "'"); return result; } else { return value; } } /*** 根據(jù)Resource ID獲取字符串** @param resId* @return* @deprecated 直接用getString()或者getContext().getString()的系統(tǒng)方法*/ public static String getStringFromId(Application app, int resId) { return app.getString(resId); } /*** 將浮點(diǎn)數(shù)進(jìn)行四舍五入** @return 改寫(xiě)后的字符串*/ public static String doubleToString(double str) { return doubleToString(str, 2); } public static String formatNum(float num) { DecimalFormat decimalFormat = new DecimalFormat("0.00"); return decimalFormat.format(num); } public static String numToString(int str) { return doubleToString(str, 2); } public static String doubleToString(double str, int offset) { return new BigDecimal(str + "").setScale(offset, BigDecimal.ROUND_HALF_UP).toString(); } public static Date stringDateTodate(String date) { String time = date.substring(6, date.length() - 7); return new Date(Long.parseLong(time)); } /*** 去除字符串前后的空格** @param text* @return*/ public static String trimString(String text) { if (!TextUtils.isEmpty(text)) { text = text.replaceAll("[ | ]", " ").trim(); //替換全角空格為半角,然后過(guò)濾 } return text; } /*** 去除轉(zhuǎn)義** @param text* @return*/ public static String escapeString(String text) { try { if (!TextUtils.isEmpty(text)) { text = text.replaceAll("[\\n\\r]*", ""); } } catch (Exception e) { e.printStackTrace(); } if (TextUtils.isEmpty(text)) text = ""; return text; } /*** 添加url參數(shù)** @param url* @param params* @return*/ public static String appendUrlParams(String url, String params) { if (TextUtils.isEmpty(url)) { return url; } if (url.endsWith("/")) { url = url.substring(0, url.length() - 1); } Pattern pattern = Pattern.compile("\\?[\\w]*="); Matcher matcher = pattern.matcher(url); if (matcher.find()) { return url + "&" + params; } else { return url + "?" + params; } } public static void main(String[] args) { } /*** 設(shè)置一段不同顏色的文字** @param colors:顏色數(shù)組,按順序取,getColor所得的值* @param index:切換顏色對(duì)應(yīng)的位置(第幾個(gè)內(nèi)容需要變色)* @param s:文字?jǐn)?shù)組*/ public static SpannableStringBuilder getColorSpan(Integer[] index, int[] colors, CharSequence... s) { List<Integer> indexList = Arrays.asList(index); SpannableStringBuilder stringBuilder = new SpannableStringBuilder(); int colorIndex = 0; for (int i = 0; i < s.length; i++) { if (indexList.contains(Integer.valueOf(i))) { SpannableString spanString = new SpannableString(s[i]); if (colorIndex >= colors.length) { colorIndex = colors.length - 1; } ForegroundColorSpan span = new ForegroundColorSpan(colors[colorIndex]); colorIndex++; spanString.setSpan(span, 0, s[i].length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE); stringBuilder.append(spanString); } else { stringBuilder.append(s[i]); } } return stringBuilder; } /*** 字符拆分** @param str 原字符* @param split 分隔符* @return*/ public static String getSubStrSplit(String str, String split) { if (!TextUtils.isEmpty(split) && !TextUtils.isEmpty(str) && str.contains(split)) { str = str.substring(0, str.indexOf(split)); } return str; } /*** 截取指定size的String*/ public static String resizeContent(String content, int size) { StringBuilder resizeContent = new StringBuilder(); if (!TextUtils.isEmpty(content) && content.length() > size) { resizeContent.append(content.substring(0, size)); resizeContent.append("..."); } else { resizeContent.append(content); } return resizeContent.toString(); } /*** 轉(zhuǎn)碼中文字符串** @param srcStr* @return*/ public static String encodeChineseStr(String srcStr) { String dstStr = srcStr; if (!TextUtils.isEmpty(dstStr)) { if (srcStr.length() < srcStr.getBytes().length) { try { dstStr = URLEncoder.encode(dstStr, "utf-8"); } catch (UnsupportedEncodingException e) { e.printStackTrace(); } } } return dstStr; } /*** 用來(lái)比較手機(jī)號(hào)版本** @param s1* @param s2* @return s1<s2*/ public static boolean compareToMin(String s1, String s2) { if (TextUtils.isEmpty(s1) || TextUtils.isEmpty(s2)) { return false; } s1 = s1.replaceAll("[a-zA-Z]", ""); s2 = s2.replaceAll("[a-zA-Z]", ""); int rt = s1.compareTo(s2); if (rt < 0) { return true; } else if (rt > 0) { return false; } else { return false; } } /*** 截取指定長(zhǎng)度 從0開(kāi)始,包左不包右*/ public static String spliteTime(String dateStr, int start, int end) { CharSequence sequence = dateStr.subSequence(start, end); return sequence.toString(); } /*** 是否有中文字符** @param str* @return*/ public static boolean hasChineseChar(String str) { boolean temp = false; Pattern p = Pattern.compile("[\u4e00-\u9fa5]"); Matcher m = p.matcher(str); if (m.find()) { temp = true; } return temp; } /*** 字符是否是中文字符* <p/>* 不包括““”號(hào),“。”號(hào),“,”號(hào)* <p/>* GENERAL_PUNCTUATION 判斷中文的“號(hào)* <p/>* CJK_SYMBOLS_AND_PUNCTUATION 判斷中文的。號(hào)* <p/>* HALFWIDTH_AND_FULLWIDTH_FORMS 判斷中文的,號(hào)*/ private static final boolean isChinese(char c) { Character.UnicodeBlock ub = Character.UnicodeBlock.of(c); return ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_COMPATIBILITY_IDEOGRAPHS || ub == Character.UnicodeBlock.CJK_UNIFIED_IDEOGRAPHS_EXTENSION_A; } /*** 判斷字符串是否含有中文字符*/ public static final boolean isContainChinese(String strName) { char[] ch = strName.toCharArray(); for (char c : ch) { if (isChinese(c)) { return true; } } return false; } final static int BUFFER_SIZE = 4096; public static byte[] InputStreamTOByte(InputStream in) { ByteArrayOutputStream outStream = new ByteArrayOutputStream(); try { byte[] data = new byte[BUFFER_SIZE]; int count = -1; while ((count = in.read(data, 0, BUFFER_SIZE)) != -1) outStream.write(data, 0, count); data = null; }catch (Exception e){ e.printStackTrace(); } return outStream.toByteArray(); } } ---------------------

?

作者:月色下的獨(dú)輪車(chē)
來(lái)源:CSDN
原文:https://blog.csdn.net/baidu_31093133/article/details/78911779
版權(quán)聲明:本文為博主原創(chuàng)文章,轉(zhuǎn)載請(qǐng)附上博文鏈接!

總結(jié)

以上是生活随笔為你收集整理的StringUtil 字符串处理工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。

成人精品99 | 国产字幕av | 91视频三区 | 日韩精品2区 | 亚洲国产精品女人久久久 | av女优中文字幕在线观看 | 国产一性一爱一乱一交 | 国产精品免费av | 国产精品xxxx18a99 | 97在线观看 | 婷婷激情综合五月天 | 久久久久久久久久久久久久免费看 | 亚洲在线a | 久久久av电影 | 国产在线黄 | 日本精品在线视频 | 综合久久综合久久 | 热久久国产精品 | 在线中文字幕视频 | 国产精品精品久久久久久 | 欧美性性网 | 免费a级黄色毛片 | 日韩av中文字幕在线免费观看 | 最新日本中文字幕 | 久久久久久综合网天天 | 色网影音先锋 | 精品国产1区2区 | 欧美成亚洲 | 日本三级国产 | 99精品视频免费在线观看 | 亚洲一区二区天堂 | av天天澡天天爽天天av | 九九九九九精品 | 91激情视频在线 | 欧美日韩综合在线观看 | 91福利社在线观看 | 免费在线观看的av网站 | 日批网站免费观看 | 欧美日韩一区二区三区在线观看视频 | 国产美女无遮挡永久免费 | 亚洲免费成人 | 日本精品久久久一区二区三区 | 国产精品女主播一区二区三区 | 国产在线观看 | 成人作爱视频 | 丁香花五月 | 免费情缘 | 日韩中文字幕免费看 | 日韩一区二区三区在线观看 | 国产a网站 | 天天射综合 | 91色吧| 亚洲人成人在线 | 久久综合福利 | 成人四虎影院 | 久久久久久国产一区二区三区 | 亚洲综合色播 | 天天操天| 久久久在线 | 成人在线免费视频观看 | 国产精选在线观看 | 一区二区三区高清在线 | 国产91精品久久久久久 | 亚洲电影第一页av | 久草精品视频在线播放 | 九九免费精品视频 | 在线观看成人一级片 | 国产一区二区视频在线播放 | 黄网站app在线观看免费视频 | 久久国产福利 | 久久66热这里只有精品 | 日韩av一区二区在线播放 | 中文字幕一区在线观看视频 | 久久亚洲国产精品 | 国产91精品在线观看 | 婷婷色中文| 97电影院网 | 黄色www| 九九热re | 国产区在线视频 | 中文在线字幕观看电影 | 91免费高清 | 天天插天天狠 | 亚洲一级黄色片 | 国产精品粉嫩 | 911亚洲精品第一 | 日韩天堂网 | 国产中文字幕视频在线 | 国产精品麻豆果冻传媒在线播放 | 97看片网 | 91精品国产92久久久久 | 成片视频在线观看 | 欧美高清成人 | 成人影音在线 | 中文字幕 婷婷 | 中文字幕色综合网 | 日韩精品黄| 成年免费在线视频 | 久久视频在线看 | 亚洲成人黄色 | 亚洲精品国产精品国 | 黄色三级免费网址 | avwww在线观看 | 亚洲精品视频网址 | 国产一区免费在线 | 玖玖视频精品 | 亚洲人成网站精品片在线观看 | 在线观看日韩 | 久草精品资源 | 国产在线中文 | 99精品电影| 狠狠色丁香婷婷综合最新地址 | 激情网站五月天 | 国产v在线观看 | 天天干天天射天天插 | av网址在线播放 | 国产一区不卡在线 | 一区二区 不卡 | 久久综合婷婷国产二区高清 | 综合久久久久久久久 | 丁香亚洲| 欧美色图亚洲图片 | 亚洲综合色丁香婷婷六月图片 | 欧美伦理一区二区三区 | 婷婷在线资源 | 精品免费视频123区 午夜久久成人 | 最近免费中文字幕 | 国产美女主播精品一区二区三区 | 欧美天堂视频在线 | 992tv成人免费看片 | 国产精品igao视频网入口 | 国产爽妇网 | 亚洲日韩精品欧美一区二区 | 婷婷九月激情 | 国产99久久九九精品免费 | 亚洲精品黄色 | 91看片看淫黄大片 | 手机成人在线电影 | 欧美日韩免费在线视频 | www.黄色片.com | 在线观看精品国产 | 亚洲精品乱码久久久久久蜜桃动漫 | www.大网伊人 | 亚洲成人在线免费 | 99热在线精品观看 | 国产破处在线视频 | 日韩av电影网站在线观看 | 在线看成人av | 久久午夜剧场 | 丝袜美女视频网站 | 不卡的av在线播放 | 欧美视频国产视频 | 欧美日韩视频精品 | 久久久国产99久久国产一 | 亚洲精品午夜久久久久久久 | 久久综合九色综合欧美狠狠 | 麻豆国产精品永久免费视频 | 亚洲人成免费网站 | 日韩有码在线播放 | 这里只有精品视频在线观看 | www.97视频| 一级成人在线 | 亚洲日本va中文字幕 | 高清中文字幕av | 黄色三级免费网址 | 精品婷婷| 久久人人爽人人人人片 | 天天干天天操天天搞 | 一区二区不卡视频在线观看 | 久久久久久久网 | 国内精品在线观看视频 | 天天操网址 | 日本xxxx裸体xxxx17| 激情欧美日韩一区二区 | 日韩精品在线免费观看 | 成年人免费看片网站 | 中文字幕精品一区久久久久 | 精品免费在线视频 | 日韩手机视频 | 日韩精品免费一区二区 | 国产精品成久久久久三级 | 国产精品理论片 | 精品久久久久久亚洲综合网站 | 91大神免费视频 | 日日干精品 | 国产麻豆剧传媒免费观看 | 96精品高清视频在线观看软件特色 | 久草在线在线精品观看 | 欧美日韩69| 久久国产精品影视 | bbbb操bbbb | 免费视频国产 | 久久r精品| 999视频在线播放 | 欧美高清成人 | 国产日韩欧美在线影视 | 99精品欧美一区二区三区 | 亚洲视频2 | 日韩精品一区二区在线观看视频 | 在线观看免费一级片 | 久久久久久国产精品 | 亚洲国产久 | 国产成人精品午夜在线播放 | 丁香婷婷综合五月 | 久久久婷 | 蜜桃视频在线视频 | 爱干视频| av中文字幕免费在线观看 | 蜜臀av一区二区 | 国产色 在线 | 在线亚洲日本 | 国产精品igao视频网入口 | 亚洲涩涩涩涩涩涩 | 日b视频国产 | 色视频网址 | 久久久国产一区二区三区 | 天天综合久久综合 | 成年人电影免费在线观看 | 国产国语在线 | 欧美日韩在线观看一区二区 | 在线看国产 | 亚洲精品免费看 | 97狠狠干 | 日韩久久精品一区二区三区下载 | 日韩免费电影网站 | 五月激情在线 | 免费韩国av| 久久看免费视频 | 丝袜精品视频 | 亚洲三级国产 | www黄色软件 | 中文字幕人成乱码在线观看 | 丁香婷婷综合色啪 | 国产视频精品网 | 天天射天天干天天操 | 欧美精品xx | 在线观看91精品国产网站 | 亚洲三级影院 | 亚洲一级电影 | 国产成人香蕉 | 91在线视频播放 | 国产主播大尺度精品福利免费 | 黄色av成人在线 | 最近在线中文字幕 | 亚洲va欧洲va国产va不卡 | 欧美日韩在线视频一区 | 中文字幕在线观看日本 | 亚洲人成人在线 | 免费高清在线一区 | 肉色欧美久久久久久久免费看 | 一本一本久久a久久精品综合小说 | 国产精品久久久久久模特 | 成人动漫一区二区 | 精品久久一二三区 | 91精品国自产在线观看 | 国产成人精品福利 | 国产亚洲人成网站在线观看 | 狠狠干网站 | 亚洲最大激情中文字幕 | av三级av | 亚洲精品一区二区18漫画 | 中文字幕日韩免费视频 | 亚洲涩涩色 | 色噜噜日韩精品一区二区三区视频 | 久久99精品久久久久久三级 | 国产亚洲在线视频 | 一本一本久久aa综合精品 | 天天曰 | 国产精品欧美激情在线观看 | 98超碰在线 | 激情综合站 | 欧美一级黄色片 | 欧美黄色高清 | 九九综合九九综合 | 久久九九国产精品 | 在线视频日韩 | 日韩两性视频 | 日韩欧美视频在线观看免费 | 久久中文字幕导航 | 亚洲视频网站在线观看 | 丁香花在线视频观看免费 | 91色综合 | 日韩欧美在线不卡 | 亚洲理论片在线观看 | 国产精品久久视频 | 成年人免费看片网站 | 欧美激情另类文学 | 亚洲国产精品人久久电影 | 午夜久久影视 | 久九视频 | 久久草在线免费 | 九九影视理伦片 | 日韩精选在线 | 中文字幕国内精品 | 亚洲精品黄色片 | 不卡电影一区二区三区 | 在线日本v二区不卡 | 99热这里只有精品1 av中文字幕日韩 | av免费网 | 色资源网免费观看视频 | 国产成人精品一区二区在线观看 | 亚洲国内在线 | 国产麻豆视频在线观看 | 国产精品理论在线观看 | 久操视频在线观看 | www天天操 | 日韩一区二区三区高清免费看看 | 国产女教师精品久久av | 国产精品午夜av | 久草在线免费新视频 | 日韩欧美黄色网址 | 最近日本中文字幕 | 国产亚洲情侣一区二区无 | 亚洲成人免费观看 | 亚洲jizzjizz日本少妇 | www.干| 欧美日韩国产二区三区 | 久久成人国产精品免费软件 | 国产中文字幕在线视频 | 久草在线视频资源 | 久久精品一二区 | 肉色欧美久久久久久久免费看 | 精品在线观看一区二区三区 | 亚洲天堂网在线视频观看 | 日韩v欧美v日本v亚洲v国产v | 欧美色一色 | 蜜臀aⅴ国产精品久久久国产 | 欧美性极品xxxx娇小 | 国产一区欧美二区 | 国产精品久久久网站 | av色影院 | 久久久精品欧美一区二区免费 | 国产精品爽爽久久久久久蜜臀 | 国产精品普通话 | 在线观看视频国产一区 | 久久精品一区八戒影视 | 欧美一区二区在线刺激视频 | 久久视屏网 | 不卡的av在线播放 | 99超碰在线播放 | 亚洲电影网站 | 国产91区 | 亚洲第一中文网 | 在线观看免费av网 | 精品国产一二三 | 亚洲精品国产区 | 97视频人人免费看 | 福利视频午夜 | 黄色美女免费网站 | 国产精品久久久久久久久搜平片 | 亚洲欧美日韩国产精品一区午夜 | 亚洲一级片在线看 | 91热爆视频 | 国产一级大片免费看 | 久福利| 国产成人av| 91麻豆精品国产91久久久无需广告 | 久久另类小说 | 不卡视频一区二区三区 | 亚洲久草视频 | 久久国产精品99久久久久久丝袜 | 91视频免费看 | 亚洲一区av| 又黄又爽的视频在线观看网站 | 日韩高清一区在线 | 色综合久久88色综合天天 | 欧美久久久久久 | 99精品国产aⅴ | 日韩在线精品 | 五月激情亚洲 | 丁香花中文字幕 | 国产视频一区二区三区在线 | 日韩精品三区四区 | 日韩三区在线 | 婷婷免费视频 | 亚洲小视频在线 | 婷婷在线观看视频 | 国产伦精品一区二区三区无广告 | 国产中文 | 东方av免费在线观看 | 亚州精品视频 | 亚洲午夜av久久乱码 | 人成免费网站 | 亚洲欧美偷拍另类 | 日日干美女 | 在线看黄色的网站 | 玖玖精品在线 | www.在线观看视频 | www.色爱| 亚洲一区二区天堂 | 中文字幕中文字幕在线一区 | 中文字幕一区二区三区在线视频 | 九九热精品国产 | 国产精品九色 | 午夜久久 | 91最新视频 | 久久亚洲成人网 | 三上悠亚一区二区在线观看 | 午夜性福利 | 天天狠狠操 | 婷婷久久网 | 亚洲精品视频在线观看免费视频 | 午夜精品电影一区二区在线 | 成人a免费| 国产中文字幕久久 | 免费精品国产 | 六月色婷婷 | 日日干,天天干 | 涩涩在线 | 成年人视频在线免费 | 婷婷国产v亚洲v欧美久久 | 一本一道久久a久久精品 | 69国产精品视频免费观看 | 久久久免费播放 | 国产精品s色 | 日韩欧美69 | 国产精品久久久久免费a∨ 欧美一级性生活片 | 成年人视频免费在线播放 | 亚洲激情小视频 | 亚洲综合五月 | 国产一级片直播 | 欧美国产精品久久久久久免费 | 成人午夜精品久久久久久久3d | 日本精品视频在线播放 | 色天堂在线视频 | 在线视频黄 | 亚洲精品美女久久 | 国产在线91在线电影 | 久久久免费毛片 | 亚洲永久国产精品 | 国内精品福利视频 | 国产中文字幕在线免费观看 | 国产精品免费看久久久8精臀av | 久久久成人精品 | 成人毛片一区 | 国产免费久久av | 亚洲另类视频 | 久久久精品国产一区二区三区 | 日韩欧美69| 国产视频1区2区3区 久久夜视频 | 免费福利视频网站 | 天天干人人 | 天堂av在线中文在线 | 久久精品99精品国产香蕉 | 国产精品永久免费观看 | 在线观看免费国产小视频 | 在线观看av网站 | 成人精品一区二区三区中文字幕 | www激情网 | 日韩动态视频 | 91成人区 | 中文字幕一区二区三区四区 | 蜜臀av网址| 色香com. | 亚洲天天综合网 | 国产午夜一区二区 | 8x成人免费视频 | 日韩一区二区三区免费视频 | 日韩精品一区二区三区免费视频观看 | 97精品久久 | av五月婷婷| 丁香视频在线观看 | av解说在线 | a精品视频 | 探花视频免费在线观看 | 国产成人福利在线 | 精品999在线观看 | 天天插天天射 | 91.dizhi永久地址最新 | 91精品久久久久久久久 | 欧美91精品久久久久国产性生爱 | 中文字幕二区三区 | 四虎5151久久欧美毛片 | 一本一道久久a久久综合蜜桃 | 在线视频电影 | 在线看成人 | 婷婷福利影院 | 日韩一二区在线 | 久草视频播放 | 中文字幕91视频 | 99热手机在线观看 | 99久久er热在这里只有精品15 | 麻豆首页| 青青河边草手机免费 | 波多野结衣在线观看视频 | 久久免费毛片视频 | 亚洲精品永久免费视频 | 在线免费亚洲 | 免费一级特黄录像 | 天天综合婷婷 | 综合国产在线观看 | 日日天天干 | 91精品一区在线观看 | 国产丝袜制服在线 | 日日干夜夜操视频 | 911久久香蕉国产线看观看 | av成人免费观看 | 欧美另类69 | 欧美日韩在线视频一区二区 | 日日夜夜婷婷 | 草久在线观看视频 | 久久久久久综合网天天 | 日本性生活免费看 | 欧美综合在线视频 | 成人av影视在线 | www免费看片com| 青青视频一区 | 午夜免费视频网站 | 99视频精品免费视频 | 欧美有色 | 国产亚州精品视频 | 色丁香久久 | 久久99爱视频 | 欧美aa在线| 日韩av偷拍 | 国产一区二区三精品久久久无广告 | 日韩精品视频网站 | 一级精品视频在线观看宜春院 | 国产一区二区三区 在线 | 天天干夜夜夜操天 | 成人a v视频 | 午夜在线资源 | 精品欧美一区二区三区久久久 | 精品国产一区在线观看 | 国产精品久久久av久久久 | 免费在线观看黄色网 | 在线 视频 亚洲 | 人人爽人人爽人人片 | 丝袜护士aⅴ在线白丝护士 天天综合精品 | 日韩精品在线看 | 欧美日韩xxxxx | 五月婷婷久久丁香 | 一级免费观看 | 男女激情免费网站 | 成人午夜片av在线看 | 色偷偷网站视频 | 99视频精品全部免费 在线 | 中文字幕日韩一区二区三区不卡 | 欧美日韩中文字幕综合视频 | 黄色毛片在线观看 | 成 人 黄 色视频免费播放 | 香蕉97视频观看在线观看 | 欧美色图视频一区 | 999久久国精品免费观看网站 | 婷婷国产在线观看 | 国产 精品 资源 | 国产精品久久久久久影院 | 久99久精品 | 在线免费色 | 欧美一级日韩三级 | 免费看片日韩 | 怡红院av久久久久久久 | 成人av影视| a电影在线观看 | 婷婷色综合色 | 九九免费在线观看视频 | 91亚洲在线| 久久香蕉国产精品麻豆粉嫩av | 黄色av电影在线观看 | 亚洲经典中文字幕 | 一级α片| 成人影片在线播放 | 国产99久久久国产精品免费看 | 色婷婷中文 | 国产美女精品在线 | 91香蕉嫩草 | 色偷偷88欧美精品久久久 | 999ZYZ玖玖资源站永久 | 91欧美日韩国产 | 欧美男男激情videos | 欧美乱码精品一区二区 | 在线观看视频一区二区三区 | 色视频网站在线观看一=区 a视频免费在线观看 | 四虎在线免费观看视频 | 91视频久久久久久 | 国产亚洲欧美精品久久久久久 | 久久av一区二区三区亚洲 | 国产永久网站 | 九九综合久久 | 国产精品久久一 | 欧美在线99 | 国产成人在线免费观看 | 日韩免费在线播放 | 天天干天天玩天天操 | 久久精品视频4 | 国产小视频国产精品 | 欧洲精品久久久久毛片完整版 | 免费在线电影网址大全 | 国产麻豆传媒 | 日韩欧美综合 | 99爱爱| 婷婷综合在线 | 久草电影网 | 91精品天码美女少妇 | 福利视频一区二区 | 免费在线观看av不卡 | 精品久久久久免费极品大片 | 在线观看成人 | 成人中文字幕在线 | 色婷婷狠狠五月综合天色拍 | 2024国产精品视频 | 免费看国产视频 | 四虎在线免费观看 | 久久99国产精品免费网站 | 五月天中文在线 | 手机av网站 | 五月婷综合网 | 国产v在线播放 | 日产乱码一二三区别免费 | 国产成人精品电影久久久 | 综合在线色 | 激情欧美xxxx | 久久久免费看片 | 免费亚洲精品 | 九九热在线精品视频 | 国产99一区二区 | 免费91在线 | 天天操天天操 | 色是在线视频 | 成人动漫精品一区二区 | 国模精品在线 | 91在线观| 国产高清日韩欧美 | 成 人 黄 色 视频免费播放 | 国产亚洲久一区二区 | av在线播放一区二区三区 | 中文字幕观看av | av大片免费| 国产精品毛片一区二区三区 | 色资源网免费观看视频 | 美女黄频网站 | 天天色天天射天天操 | 久精品在线| 国产永久网站 | 国产一级性生活视频 | 91在线视频播放 | 亚洲成a人片在线观看网站口工 | 国产精品人人做人人爽人人添 | av在线网站观看 | 黄色三级免费看 | 久久精品96 | 亚洲综合视频网 | 国产麻豆电影在线观看 | 久久艹在线观看 | 在线成人国产 | av一级片网站 | 日韩字幕 | 久久久久久久久综合 | 日本激情视频中文字幕 | 韩国精品在线观看 | 91爱爱免费观看 | 欧美激情综合五月色丁香 | 四虎最新入口 | 国产成人91 | 91精品导航 | 欧洲精品亚洲精品 | 免费在线观看一级片 | 成年人在线免费看视频 | 国产精品美女免费看 | 日韩成人精品一区二区 | 亚洲精品国偷拍自产在线观看 | 狠狠操欧美 | 99精品国产免费久久久久久下载 | 日韩网站在线 | 国产视频91在线 | 99精品免费久久久久久久久日本 | bbw av| 一本一本久久a久久精品牛牛影视 | 国产99久久99热这里精品5 | 黄色av影视 | 国产精品porn| 日本精品久久 | 久久兔费看a级 | 久久成人国产精品一区二区 | 国产美女免费看 | 中文在线a∨在线 | 亚洲精品视频一 | 亚州人成在线播放 | 日韩在线电影一区二区 | 西西444www | 91色亚洲| 81精品国产乱码久久久久久 | 五月婷婷中文字幕 | 国产一区二区三区免费观看视频 | 国产无遮挡猛进猛出免费软件 | 2019中文在线观看 | 韩国精品一区二区三区六区色诱 | 国产a网站 | 日韩欧美精品一区二区三区经典 | 国产粉嫩在线 | 四虎影视成人永久免费观看亚洲欧美 | 人人爽人人搞 | 在线色资源 | 日本一区二区三区视频在线播放 | 欧美日韩一区二区在线观看 | 蜜桃麻豆www久久囤产精品 | 国产精品久久久区三区天天噜 | 久久国语露脸国产精品电影 | 视频一区二区视频 | 午夜国产一区二区 | 99精品欧美一区二区三区 | 成人在线视频一区 | 免费涩涩网站 | 亚洲精品免费在线 | 97精品国产97久久久久久春色 | 久久婷婷丁香 | 国产亚洲精品中文字幕 | 中文在线字幕免 | 天天综合天天综合 | 久久1电影院 | 午夜精品麻豆 | 国产免费不卡 | 午夜精品一区二区三区四区 | 亚洲精品美女久久 | 美女精品网站 | 免费看黄色小说的网站 | 欧美色精品天天在线观看视频 | 亚洲综合婷婷 | 亚洲狠狠操 | 色九九视频 | 日韩一二三| 国产精品福利视频 | 精品久久久久久久久久久久久久久久 | 国产不卡一区二区视频 | 97超碰资源总站 | 久久夜色精品国产欧美乱极品 | 日本最新一区二区三区 | 91精品视频在线观看免费 | 日韩精品中文字幕久久臀 | 色综合中文综合网 | 中文字幕一区二区三区久久 | 黄色在线看网站 | 青青河边草免费观看完整版高清 | 91人人网| 久久久午夜精品理论片中文字幕 | 黄色app网站在线观看 | 91视频免费网站 | 日韩中文字幕在线看 | .国产精品成人自产拍在线观看6 | 免费能看的黄色片 | 久久新 | 国产999精品久久久久久 | 久草在线资源免费 | 国产h片在线观看 | 黄色视屏在线免费观看 | 免费亚洲视频 | 999在线精品 | 国产aaa大片| 中文字幕一区二区三区四区视频 | 成人精品一区二区三区中文字幕 | 久久毛片视频 | 超碰电影在线观看 | 久久成人国产 | 久久久久久久久亚洲精品 | 久久精品久久久久 | 国内成人精品2018免费看 | 999成人 | 亚洲五月婷婷 | 中文字幕在线免费97 | 国产精品一区电影 | 亚洲美女在线一区 | 中文字幕 在线看 | 亚洲精品日韩av | 一区二区三区高清 | 综合久久久久久久久 | 国产精品免费观看网站 | 国产尤物视频在线 | 超碰在线日本 | 亚洲国产精品一区二区久久hs | 国产 日韩 在线 亚洲 字幕 中文 | 中文字幕亚洲欧美日韩2019 | 国产精品成人国产乱一区 | 色综合久久88色综合天天免费 | 成人av电影免费在线播放 | 久久高视频 | 色综合久久久久久中文网 | 久久成年视频 | 国产91精品高清一区二区三区 | 黄视频色网站 | 国产精品刺激对白麻豆99 | 天天躁日日躁狠狠躁 | 欧美韩日精品 | 午夜电影 电影 | 亚洲资源视频 | 亚洲视频 视频在线 | 在线免费成人 | 国产九色视频在线观看 | 国外成人在线视频网站 | 一区二区三区播放 | 黄色大片国产 | 天天夜夜狠狠操 | 开心丁香婷婷深爱五月 | 韩国一区二区av | 欧美日韩国产高清视频 | 99r精品视频在线观看 | 免费看国产曰批40分钟 | 少妇视频一区 | 亚洲精品午夜视频 | 天天操天天摸天天射 | 91精品国 | 国产精品不卡 | 中文字幕电影在线 | 国外成人在线视频网站 | 久久热亚洲 | 丁香狠狠| 日韩欧美在线观看一区二区 | 久久精品视频在线免费观看 | 91精品国产一区二区在线观看 | 亚洲综合色视频在线观看 | 精品免费视频 | 国产成人无码AⅤ片在线观 日韩av不卡在线 | 亚洲乱亚洲乱亚洲 | 男女激情免费网站 | 欧美大片大全 | 精品欧美乱码久久久久久 | 欧美日韩中 | 天天精品视频 | 亚洲国内在线 | 一区二区三区四区在线免费观看 | 天天射天天射天天 | 国产成人福利在线观看 | 99视频这里只有 | 国产视频首页 | 手机av在线不卡 | 成人小视频在线 | 美国人与动物xxxx | 日本3级在线观看 | 日韩精品中文字幕在线不卡尤物 | 国产精品久久久免费 | 在线91av | 在线中文字幕观看 | 亚洲精品国产免费 | 欧美久草在线 | 亚洲劲爆av| 五月婷婷丁香六月 | 成人一区二区在线观看 | 亚洲一区免费在线 | 韩国av一区二区 | 激情偷乱人伦小说视频在线观看 | 午夜精品电影 | 成年人免费电影 | 日韩精品免费一区二区在线观看 | 久草视频免费在线观看 | 特级西西444www高清大视频 | 夜夜狠狠 | 亚洲精品国产精品久久99热 | 国产精品久久久久av福利动漫 | 美女免费视频一区二区 | 久久亚洲影院 | 成人av一级片 | 不卡视频在线看 | 日日爱影视 | 亚洲一区美女视频在线观看免费 | 日本中文字幕在线免费观看 | 91视频 - 114av | av福利第一导航 | 亚洲一区二区三区毛片 | 99视频在线精品免费观看2 | 日韩在线播放欧美字幕 | av在线短片 | 波多野结衣视频一区二区 | 中文国产字幕在线观看 | 超碰人人草人人 | 国内视频一区二区 | 五月婷婷视频在线 | 欧美色图一区 | 精品96久久久久久中文字幕无 | www五月婷婷 | 四虎永久免费在线观看 | 久草视频精品 | 韩日精品在线 | 九九交易行官网 | 人人插人人射 | 国产成人在线观看 | 久久在线播放 | 成人黄色在线观看视频 | 欧美最新大片在线看 | 四虎免费av | 一区二区精品国产 | 激情婷婷综合网 | 中文字幕在线观看第三页 | 免费欧美| 欧美性色综合 | 狠狠色丁香婷婷综合久小说久 | 西西444www高清大胆 | 欧美亚洲一级片 | 一二三区视频在线 | 五月婷婷六月丁香在线观看 | 亚洲成人av片在线观看 | 成+人+色综合 | 日韩网站在线免费观看 | 久久综合精品一区 | 日韩在线国产精品 | 丁香六月伊人 | 超碰av在线播放 | 国产一区不卡在线 | 精品国产aⅴ一区二区三区 在线直播av | 一级性av| 日韩在线网 | av免费电影在线 | 国产高清99| 久草在线久草在线2 | 欧美日韩国产一区二区在线观看 | 欧美日韩视频在线 | 国产黄色精品 | 天天操网址 | 亚洲在线网址 | 五月婷婷在线观看视频 | 日韩二区三区 | 久99久精品 | 黄色成人毛片 | 欧美人交a欧美精品 | www欧美xxxx| 国产91成人在在线播放 | 91成人国产| 91中文字幕网 | adn—256中文在线观看 | 日本久久影视 | 国产亚洲精品美女久久 | 中文字幕免费在线 | 国产精品久久久久久爽爽爽 | 超碰公开在线观看 | 黄色毛片大全 | 色狠狠久久av五月综合 | 久久成人国产精品一区二区 | 久久免费播放视频 | 91系列在线观看 | aaa毛片视频 | 久久日韩精品 | 日韩欧美观看 | www.com黄| 中文字幕免费高 | 国产99久久久国产精品免费看 | 久久精品这里热有精品 | 一区二区三区 中文字幕 | 精品在线视频播放 | 国产精品免费小视频 | 射射射av| 国产最新在线观看 | 人成电影网| 国产999精品视频 | 免费三级a | 亚洲天堂精品视频在线观看 | 婷婷久操 | 国产精品丝袜在线 | 午夜精品av | 国产精品毛片一区二区在线看 | 九色精品在线 | 97超碰中文字幕 | 久久香蕉国产 | 久久精品国产免费观看 | 国产精品一级视频 | 亚洲精品视频在线观看免费视频 | 国产91精品在线观看 | 国产精品亚洲人在线观看 | 国产精品麻豆三级一区视频 | 天天插天天色 | 99在线热播精品免费99热 | 国产高清第一页 | 国产日韩视频在线 | 成人资源在线播放 | 九九爱免费视频在线观看 | 日本午夜免费福利视频 | 狠狠狠色狠狠色综合 | 久久免费久久 | 日本三级全黄少妇三2023 | 国内综合精品午夜久久资源 | 中文字幕在线观看不卡 | 国产一区二区在线视频观看 | 日本精品视频在线观看 | 国外成人在线视频网站 | 日色在线视频 | 亚洲综合涩| 久久久久久久久久久久亚洲 | 日本不卡一区二区三区在线观看 | 欧美日韩久久久 | 久久欧美在线电影 | 人人草在线视频 | 精品色综合 | 五月激情天 | 中文字幕第一 | 在线观看日韩av | 国产精品美女www爽爽爽视频 | 最近日本mv字幕免费观看 | 亚洲视频久久久久 | 高潮久久久 | 成人97视频一区二区 | 91av片| 欧美亚洲久久 | 亚洲国产日韩欧美在线 | 99视频精品在线 | 国内精品久久久久久久97牛牛 | 久久国产色 | 日韩一区二区三区在线看 | 精品亚洲欧美无人区乱码 | 中文字幕在线免费观看视频 | 日韩av免费大片 | 欧美一级特黄高清视频 |