亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? gfstring.java

?? 基于java語言的分詞系統
?? JAVA
?? 第 1 頁 / 共 4 頁
字號:
			temp = src + "0";
			for (int i = 0, j = 0, k = 0; i < temp.length() - 2; i += 2, j++) {
				b[j] = Integer.parseInt(temp.substring(i, i + 2), 16);

				k = j % 7;
				srcAscii = (byte) (((b[j] << k) & 0x7F) | left);
				result += (char) srcAscii;
				left = (byte) (b[j] >>> (7 - k));
				if (k == 6) {
					result += (char) left;
					left = 0;
				}
				if (j == src.length() / 2)
					result += (char) left;
			}
		}
		return result;
	}

	/**
	 * <pre>
	 *                                     是否是手機號碼
	 *                                     1.11位
	 *                                     2.是數字
	 *                                     3.以&quot;13&quot;開頭
	 * </pre>
	 * 
	 * @param msg
	 * @return
	 */
	public static boolean isMobileNo(String msg) {
		// msg = quan2ban(msg);
		// msg = removeSpace(msg);
		if (msg != null && msg.length() == 11) {
			if (isNumeric(msg) && (msg.substring(0, 2).equals("13") || msg.substring(0, 2).equals("15"))) {
				return true;
			}
		}

		return false;
	}

	/**
	 * <pre>
	 *                                    是否是一個電話號碼.
	 *                                    首先做預處理,把轉全角字符轉成半角,并把非數字字符去掉,用空格替代
	 *                                    
	 *                                    1.長度要至等于7,但不能超過12
	 *                                    2.手機號是一個電話號碼
	 *                                    3.按空格分隔,長度大于等于3且小于等于12的數字字段至少有一個,且最大不超過2個
	 * </pre>
	 * 
	 * @param msg
	 * @return
	 */
	public static boolean isTelNo(String msg) {
		// msg = quan2banGBK(msg);
		// msg = removeSpace(msg);
		if (msg != null && msg.length() >= 7) {
			String temp = msg + " ";
			String t = null;
			for (int i = 0; i < temp.length() - 1; i++) {
				t = temp.substring(i, i + 1);
				if (!isNumeric(t)) {
					temp = temp.substring(0, i) + " " + temp.substring(i + 1);
				}
			}

			msg = removeSpace(temp);
			if (isNumeric(msg) && msg.length() >= 7 && msg.length() <= 12)
				if (msg.substring(0, 1).equals("0")) {
					if (msg.length() >= 10)
						return true;

				} else {
					if (isMobileNo(msg))
						return true;
					else if (msg.length() <= 8)
						return true;
				}

		}

		return false;
	}

	 
	 
	 
	/**
	 * <pre>
	 *                               得到指定位置前的非空格字符
	 *                               比如:源字符串為:2室一廳,“室”前一個有效字符為2
	 *                               源字符串為:2 室 一廳,“室”前一個有效字符為2
	 * </pre>
	 * 
	 * @param msg
	 * @param index
	 * @return
	 */
	public static String getAnteriorNotSpaceChar(String msg, int index) {
		String ch = null;

		if (msg != null && index > 0) {
			for (int i = index - 1; i >= 0; i--) {
				String s = msg.substring(i, i + 1);
				if (!s.equals(" "))
					return s;
			}
		}

		return ch;
	}

	/**
	 * 按字符串長度的長短進行排序
	 * <p>
	 * 選用快速排序算法
	 * 
	 * @param list
	 * @param long2short
	 *            True:從長到短.False:從短到長
	 * @return
	 */
	public static ArrayList<String> sortByLen(ArrayList<String> list, boolean long2short) {
		ArrayList<String> rs = null;

		if (list != null) {
			rs = new ArrayList<String>(list.size());
			for (String name : list) {
				name = GFString.removeSpace(name);
				if (name != null && name.length() > 1) {
					if (rs.size() > 0) {
						for (int i = 0; i < rs.size(); i++) {
							if (name.length() >= rs.get(i).length()) {
								rs.add(i, name);
								break;
							} else if (i == rs.size() - 1) {
								rs.add(name);
								break;
							} else
								continue;
						}
					} else
						rs.add(name);
				}
			}

			if (!long2short) {
				ArrayList<String> rs2 = new ArrayList<String>();
				for (String s : rs)
					rs2.add(0, s);
				rs = rs2;
			}
		}

		return rs;

	}

	/**
	 * 把指定位置指定長度的字符用新字符串替換掉
	 * 
	 * @param 源字符串
	 * @param index
	 *            替換字符串的開始下標
	 * @param len
	 *            替換的長度
	 * @param newstr
	 *            新字符串
	 * @return
	 */
	public static String replace(String src, int index, int len, String newstr) {
		String result = src;
		if (src != null && index >= 0 && index < src.length()) {
			if (newstr == null)
				newstr = "";

			String p1 = src.substring(0, index);

			if (index + len >= src.length())
				result = p1 + newstr;
			else {
				String p2 = src.substring(index + len);
				result = p1 + newstr + p2;
			}
		}
		return result;
	}

	public static boolean hasZero(String msg) {
		if (msg != null) {
			byte[] bb = msg.getBytes();
			for (byte b : bb)
				if (b == 0)
					return true;
		}

		return false;
	}

	/**
	 * 判斷字符串是否是字母數字的
	 * 
	 * @param str
	 * @return
	 */
	public static boolean isAlphanumeric(String str) {
		if (str != null) {
			byte[] bs = str.getBytes();
			for (byte b : bs) {
				if (b < 48 || b > 57 && b < 65 || b > 90 && b < 97 || b > 122)
					return false;
			}
			return true;
		}
		return false;
	}

	/**
	 * 去掉地名(市/區/縣/鄉/村)的后綴"市/區/縣/鄉/鎮/村"
	 * 
	 * @param placename
	 * @return
	 */
	public static String removePlacenameSuffix(String placename) {
		int index = -1;
		String[] suffix = { "省", "市", "區", "縣", "鄉", "鎮", "村" };
		if (placename != null && placename.length() > 1) {
			for (String s : suffix) {
				index = placename.indexOf(s);
				if (placename.length() > 2 && index == placename.length() - 1) {
					placename = placename.substring(0, index);
					break;
				}
			}
		}

		return placename;
	}

	/**
	 * 添加地名后綴(市/區/縣/鄉/村)的后綴"市/區/縣/鄉/鎮/村"
	 * 
	 * @param placename
	 * @param type
	 *            地名類型 0:省 1:市 2:區 3:縣
	 * 
	 * @return
	 */
	public static String addPlacenameSuffix(String placename, String suffix) {
		int index = -1;
		if (placename != null && placename.length() > 1) {
			if (suffix != null && suffix.length() == 1) {
				index = placename.indexOf(suffix);
				if (index != placename.length() - 1) {
					placename += suffix;
				}
			}

		}

		return placename;
	}

	/**
	 * 比較兩個字符串,看str1是否在str2前,按字母排序. 比如:abc是在adc之前
	 * 
	 * @param str1
	 * @param str2
	 * @return
	 */
	public static boolean isBefore(String str1, String str2) {
		boolean rs = false;
		if (str1 != null && str2 != null) {
			int len = str1.length() < str2.length() ? str1.length() : str2.length();
			byte[] b1 = str1.getBytes();
			byte[] b2 = str2.getBytes();

			for (int i = 0; i < len; i++) {
				if (b2[i] > b1[i])
					return true;
				else if (b2[i] < b1[i])
					return false;

			}
		}
		return rs;
	}

 

	/**
	 * 是否是聯通手機號碼
	 * 
	 * @param sim
	 * @return
	 */
	public static boolean isUnicommMobile(String sim) {
		boolean result = false;
		if (sim != null && sim.length() == 11) {
			String part = sim.substring(0, 3);
			if (part.equals("130") || part.equals("131") || part.equals("132") || part.equals("133") || part.equals("153") || part.equals("156"))
				result = true;
		}
		return result;
	}

	/**
	 * 是否是聯通手機號碼
	 * 
	 * @param sim
	 * @return
	 */
	public static boolean isChinaMobile(String sim) {
		boolean result = false;
		if (sim != null && sim.length() == 11) {
			String part = sim.substring(0, 3);
			if (part.equals("134") || part.equals("135") || part.equals("136") || part.equals("137") || part.equals("138") || part.equals("139")
					|| part.equals("159") || part.equals("158"))
				result = true;
		}
		return result;

	}

	/**
	 * 取得指定位置后面的緊鄰的字符
	 * 
	 * @param str
	 * @param index
	 * @return
	 */
	public static String getNextString(String str, int index) {
		String rs = null;

		if (str != null && str.length() > 0) {
			if (index < 0)
				rs = str.length() > 1 ? str.substring(0, 1) : str;
			else if (index == str.length() - 1)
				rs = null;
			else if (index == str.length() - 2)
				rs = str.substring(index + 1);
			else
				rs = str.substring(index + 1, index + 2);
		}

		return rs;
	}

	/**
	 * 對字符串進行原子分隔,比如:解放軍第101醫院----解 放 軍 第 1 0 1 醫 院
	 * 
	 * @param str
	 * @return
	 */
	public static String[] atomSplit(String str) {
		String[] result = null;
		if (str != null) {
			result = new String[str.length()];
			String temp = str + " ";
			for (int i = 0; i < temp.length() - 1; i++) {
				result[i] = temp.substring(i, i + 1);
			}
		}

		return result;
	}

	public static boolean hasTelNo(String str) {
		if (str != null && str.length() >= 7) {
			String[] ss = atomSplit(quan2banGBK(str));
			String rs = "";
			for (String s : ss) {
				if ("-".equals(s) || "/".equals(s) || "(".equals(s) || ")".equals(s) || isNumeric(s)) {
					rs += s;
				} else if (rs.length() > 0)
					break;

			}

			if (rs.length() >= 7) {
				if (isMobileNo(rs))
					return true;
				else if (isTelNo(rs))
					return true;
			}
		}

		return false;
	}

	/**
	 * 找到POS詞性標記的位置
	 * 
	 * @param str
	 *            分詞的字符串
	 * @param pos
	 *            字詞標記
	 * @return
	 */
	public static int findPos(String str, String pos) {
		int result = -1;

		if (str != null && pos != null) {
			for (int i = 0; i < str.length(); i++) {
				int index = str.indexOf(pos, i);
				if (index + pos.length() == str.length() || (index != -1 && str.substring(index + pos.length()).indexOf(" ") == 0)) {
					result = index;
					break;
				}

			}
		}
		return result;
	}

	/**
	 * 去掉詞性標注,獲取關鍵詞
	 * 
	 * @param str
	 *            帶詞性標注的關鍵詞,比如:團校/bs /sh
	 * @return
	 */
	public static String getPOSKey(String str) {
		if (str != null) {
			int index = str.indexOf("/");
			if (index > 0) {
				return str.substring(0, index);
			}
		}

		return null;
	}

	/**
	 * <pre>
	 *  根據詞性標注進行分隔,一個關鍵詞可能有多個詞性標注,在分隔是視為一個整體。
	 *  比如:團校/bs /sh 到 雅仕苑/bs /cm
	 *  分隔后:
	 *  團校/bs /sh 
	 *  到 
	 *  雅仕苑/bs /cm
	 * </pre>
	 * 
	 * @param str
	 * @return
	 */
	public static String[] splitByPOS(String str) {
		String[] result = null;
		ArrayList<String> list = new ArrayList<String>();
		if (str != null) {
			String[] ss = str.split(" ");
			int i = 0;
			for (String s : ss) {
				if (s.indexOf("/") == 0 && i - 1 >= 0 && i - 1 < list.size()) {
					String key = list.get(i - 1);
					list.set(i - 1, key + " " + s);
				} else {
					list.add(s);
					i++;
				}
			}

			result = new String[list.size()];
			list.toArray(result);
		}
		return result;
	}

	/**
	 * 得到一個漢字串對應的拼音.只把串的漢字進行轉換,其它字符保持不變
	 * 
	 * @param cstr
	 * @return
	 */
	public static String getBopomofo(String cstr) {
		String bopomofo = null;

		if (cstr != null) {
			LinkedHashMap<String, Integer> bopoMap = new LinkedHashMap<String, Integer>();
			bopoMap.put("a", 1);
			bopoMap.put("a", -20319);
			bopoMap.put("ai", -20317);
			bopoMap.put("an", -20304);
			bopoMap.put("ang", -20295);
			bopoMap.put("ao", -20292);
			bopoMap.put("ba", -20283);
			bopoMap.put("bai", -20265);
			bopoMap.put("ban", -20257);
			bopoMap.put("bang", -20242);
			bopoMap.put("bao", -20230);
			bopoMap.put("bei", -20051);
			bopoMap.put("ben", -20036);
			bopoMap.put("beng", -20032);
			bopoMap.put("bi", -20026);
			bopoMap.put("bian", -20002);
			bopoMap.put("biao", -19990);
			bopoMap.put("bie", -19986);
			bopoMap.put("bin", -19982);
			bopoMap.put("bing", -19976);
			bopoMap.put("bo", -19805);
			bopoMap.put("bu", -19784);
			bopoMap.put("ca", -19775);
			bopoMap.put("cai", -19774);
			bopoMap.put("can", -19763);
			bopoMap.put("cang", -19756);
			bopoMap.put("cao", -19751);
			bopoMap.put("ce", -19746);
			bopoMap.put("ceng", -19741);
			bopoMap.put("cha", -19739);
			bopoMap.put("chai", -19728);
			bopoMap.put("chan", -19725);
			bopoMap.put("chang", -19715);
			bopoMap.put("chao", -19540);
			bopoMap.put("che", -19531);
			bopoMap.put("chen", -19525);
			bopoMap.put("cheng", -19515);
			bopoMap.put("chi", -19500);
			bopoMap.put("chong", -19484);
			bopoMap.put("chou", -19479);
			bopoMap.put("chu", -19467);
			bopoMap.put("chuai", -19289);
			bopoMap.put("chuan", -19288);
			bopoMap.put("chuang", -19281);
			bopoMap.put("chui", -19275);
			bopoMap.put("chun", -19270);
			bopoMap.put("chuo", -19263);
			bopoMap.put("ci", -19261);
			bopoMap.put("cong", -19249);
			bopoMap.put("cou", -19243);
			bopoMap.put("cu", -19242);
			bopoMap.put("cuan", -19238);
			bopoMap.put("cui", -19235);
			bopoMap.put("cun", -19227);
			bopoMap.put("cuo", -19224);
			bopoMap.put("da", -19218);
			bopoMap.put("dai", -19212);
			bopoMap.put("dan", -19038);
			bopoMap.put("dang", -19023);
			bopoMap.put("dao", -19018);
			bopoMap.put("de", -19006);
			bopoMap.put("deng", -19003);
			bopoMap.put("di", -18996);
			bopoMap.put("dian", -18977);
			bopoMap.put("diao", -18961);
			bopoMap.put("die", -18952);
			bopoMap.put("ding", -18783);
			bopoMap.put("diu", -18774);
			bopoMap.put("dong", -18773);
			bopoMap.put("dou", -18763);
			bopoMap.put("du", -18756);
			bopoMap.put("duan", -18741);
			bopoMap.put("dui", -18735);
			bopoMap.put("dun", -18731);
			bopoMap.put("duo", -18722);
			bopoMap.put("e", -18710);
			bopoMap.put("en", -18697);
			bopoMap.put("er", -18696);
			bopoMap.put("fa", -18526);
			bopoMap.put("fan", -18518);
			bopoMap.put("fang", -18501);
			bopoMap.put("fei", -18490);
			bopoMap.put("fen", -18478);
			bopoMap.put("feng", -18463);
			bopoMap.put("fo", -18448);
			bopoMap.put("fou", -18447);
			bopoMap.put("fu", -18446);
			bopoMap.put("ga", -18239);
			bopoMap.put("gai", -18237);
			bopoMap.put("gan", -18231);
			bopoMap.put("gang", -18220);
			bopoMap.put("gao", -18211);
			bopoMap.put("ge", -18201);
			bopoMap.put("gei", -18184);
			bopoMap.put("gen", -18183);
			bopoMap.put("geng", -18181);
			bopoMap.put("gong", -18012);
			bopoMap.put("gou", -17997);
			bopoMap.put("gu", -17988);
			bopoMap.put("gua", -17970);
			bopoMap.put("guai", -17964);

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
国产99久久久精品| 国产一区二区三区在线观看精品| www.欧美精品一二区| 亚洲国产高清在线观看视频| 国产很黄免费观看久久| 国产精品美女久久久久久久| 91免费国产视频网站| 有码一区二区三区| 欧美精品久久久久久久多人混战 | 午夜婷婷国产麻豆精品| 欧美日本一区二区在线观看| 免费观看在线综合色| 久久―日本道色综合久久| 成人手机在线视频| 成人欧美一区二区三区在线播放| 欧美性生交片4| 捆绑变态av一区二区三区| 国产精品视频麻豆| 欧美手机在线视频| 国产一区二区三区美女| 亚洲欧美另类小说视频| 欧美一级夜夜爽| 成人av第一页| 免费精品99久久国产综合精品| 久久精品水蜜桃av综合天堂| 欧洲在线/亚洲| 国产精品一区二区在线看| 亚洲精品国产精品乱码不99| 欧美成人乱码一区二区三区| 成人免费毛片嘿嘿连载视频| 亚洲3atv精品一区二区三区| 国产三区在线成人av| 欧美调教femdomvk| 国产成人无遮挡在线视频| 亚洲美女电影在线| 欧美精品一区二| 欧美日韩精品电影| 成人丝袜视频网| 免费观看成人av| 亚洲国产美女搞黄色| 日本一区二区成人| 精品国产乱码久久久久久浪潮 | 91精品在线一区二区| 不卡av免费在线观看| 久久国产精品色| 亚洲国产精品久久久男人的天堂| 中文字幕精品在线不卡| 日韩欧美激情在线| 欧美日韩大陆一区二区| av在线不卡观看免费观看| 精品系列免费在线观看| 亚洲chinese男男1069| 亚洲欧美日韩国产成人精品影院| 国产调教视频一区| 精品少妇一区二区三区免费观看| 欧美视频一区二区三区在线观看| 99精品欧美一区二区三区综合在线| 国产一区二区三区四区五区入口 | 不卡的av在线| 国产91精品入口| 韩国三级电影一区二区| 蜜桃视频在线观看一区| 日韩成人免费在线| 亚洲国产视频直播| 亚洲成在线观看| 亚洲国产sm捆绑调教视频| 亚洲综合久久久| 亚洲男人都懂的| 亚洲色图视频网| 亚洲婷婷国产精品电影人久久| 国产欧美一区二区在线观看| 久久精品欧美日韩精品 | jlzzjlzz欧美大全| 国产高清亚洲一区| 国产成人av影院| 成人激情综合网站| 91视频免费播放| 在线观看91精品国产入口| 欧美专区日韩专区| 欧美区一区二区三区| 午夜精品一区二区三区三上悠亚| 香港成人在线视频| 麻豆成人免费电影| 99视频精品免费视频| 欧美日韩国产一二三| 欧美精品在线一区二区三区| 日韩精品一区二区在线观看| 欧美va天堂va视频va在线| 国产视频一区在线播放| 欧美成人一级视频| 亚洲国产精品国自产拍av| 色综合天天狠狠| 欧美在线视频日韩| 91麻豆精品国产91久久久久| 日韩免费成人网| 中文字幕va一区二区三区| 亚洲欧美激情小说另类| 午夜精品aaa| 国产伦精一区二区三区| 99久久精品一区二区| 欧美三级日韩三级国产三级| 日韩精品一区二区三区在线播放 | 国产精品高潮呻吟| 亚洲国产日韩一区二区| 日本视频一区二区| 国产成人亚洲精品狼色在线| av电影一区二区| 欧美绝品在线观看成人午夜影视| 欧美一级黄色录像| 国产精品成人免费在线| 肉色丝袜一区二区| 成人av在线资源网| 日本韩国欧美国产| 国产校园另类小说区| 欧美一级二级三级蜜桃| 精品欧美一区二区久久| 中文字幕一区二区三区四区| 亚洲va欧美va人人爽午夜| 国产精品一区二区在线看| 欧美熟乱第一页| 国产欧美日韩综合精品一区二区| 亚洲成av人综合在线观看| 国产酒店精品激情| 欧美在线免费视屏| 国产日本欧洲亚洲| 性做久久久久久免费观看欧美| 国产69精品久久777的优势| 在线影视一区二区三区| 国产日韩精品一区| 另类小说图片综合网| 欧洲一区二区三区在线| 国产区在线观看成人精品| 首页国产欧美日韩丝袜| av在线播放不卡| 欧美va亚洲va香蕉在线| 亚洲aⅴ怡春院| 色婷婷国产精品| 欧美激情一区三区| 激情综合色播激情啊| 制服丝袜亚洲播放| 亚洲欧洲一区二区在线播放| 欧美精品一二三区| 日本aⅴ亚洲精品中文乱码| 欧美日韩精品二区第二页| 国产精品成人在线观看| 国产尤物一区二区| 在线播放日韩导航| 亚洲精品精品亚洲| 不卡av在线网| 国产精品久久久久久妇女6080| 国产美女娇喘av呻吟久久| 91精品免费在线观看| 亚洲一区二区不卡免费| 日本高清不卡视频| 中文字幕一区二区在线播放| 粉嫩av一区二区三区| 精品动漫一区二区三区在线观看| 视频一区二区三区入口| 欧美午夜在线一二页| 一区二区三区四区在线免费观看| 成人视屏免费看| 国产精品高潮呻吟久久| 成人动漫一区二区| 国产精品色眯眯| 成人激情小说网站| 国产精品二三区| 91在线视频在线| 亚洲男人天堂av网| 色www精品视频在线观看| 亚洲精品视频在线| 在线观看欧美精品| 亚洲已满18点击进入久久| 欧美日韩午夜精品| 日本aⅴ亚洲精品中文乱码| 91精品国产综合久久香蕉麻豆 | 欧美日韩国产一区二区三区地区| 亚洲最新在线观看| 欧美日韩一区二区三区在线看| 亚洲午夜电影在线| 91香蕉视频mp4| 91丨国产丨九色丨pron| 国产一区二区三区视频在线播放| 日韩免费看的电影| 韩国三级中文字幕hd久久精品| 久久久久久久久久久久久女国产乱 | 国产综合久久久久久鬼色| 国产三级精品视频| 91视视频在线观看入口直接观看www | 国产精品国产三级国产普通话蜜臀| 成人av电影在线观看| 亚洲激情五月婷婷| 91精品国产综合久久精品性色| 激情六月婷婷久久| 国产欧美日韩精品在线| 日本丰满少妇一区二区三区| 秋霞午夜av一区二区三区| 欧美高清一级片在线观看| 欧美自拍丝袜亚洲| 国产精品一区二区三区四区| 亚洲伦理在线精品|