將字符串中的標點符號過濾掉

開發中我們有可能會遇到這種情況,就是將字符串中的某個字符去掉

@Test
	public void test() {
		String d = trimPunctuation2("你,好oewefo,21.2!;:、1?dsf");
		System.out.println(d);
	}

	// 將字符串中的標點符號過濾掉
	public static String trimPunctuation2(String str) {
		String punct[] = { ",", ".", "!", "?", ";", ":", ",", "。", "!", "?",
				";", ":", "、" };
		List<String> punctList = Arrays.asList(punct); // 將String數組轉List集合
		StringBuilder result = new StringBuilder();
		for (int i = 0; i < str.length(); i++) {
			Character c = str.charAt(i);
			if (punctList.contains(c.toString())) {

			} else {
				result.append(str.charAt(i));
			}
		}

		return result.toString();
	}

	// 將字符串中的標點符號過濾掉
	public static String trimPunctuation(String str) {
		StringBuilder result = new StringBuilder();
		for (int i = 0; i < str.length(); ++i) {
			char punct[] = { ',', '.', '!', '?', ';', ':', ',', '。', '!', '?',
					';', ':', '、' };
			boolean need_filter = false;
			for (int j = 0; j < punct.length; ++j) {
				if (punct[j] == str.charAt(i)) {
					need_filter = true;
					break;
				}
			}

			if (!need_filter) {
				result.append(str.charAt(i));
			}
		}

		return result.toString();
	}


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章