자바 민감 어 필터
package test.java.lang;
import java.io.IOException;
import java.util.ArrayList;
import java.util.HashMap;
import java.util.List;
/**
* @title KeywordFilter
* @description TODO
* @author
* @date 2014-4-17
* @version 1.0
*/
public class KeywordFilter {
/**
* { ={isEnd=0, ={isEnd=1}}, ={isEnd=0, ={isEnd=0, ={isEnd=1}, ={isEnd=0, ={isEnd=1}}}}}
* */
private HashMap keysMap = new HashMap();
/**
*
* @param keywords
*/
public void addKeywords(List keywords) {
for (int i = 0; i < keywords.size(); i++) {
String key = keywords.get(i).trim();
HashMap nowhash = keysMap;//
for (int j = 0; j < key.length(); j++) {
char word = key.charAt(j);
Object wordMap = nowhash.get(word);
if (wordMap != null) {
nowhash = (HashMap) wordMap;
} else {
HashMap newWordHash = new HashMap();
newWordHash.put(\"isEnd\", \"0\");
nowhash.put(word, newWordHash);
nowhash = newWordHash;
}
if (j == key.length() - 1) {
nowhash.put(\"isEnd\", \"1\");
}
}
}
}
/**
* begin keyword ,
* , 0
* keyword , , isEnd = 1, keyword ,
*/
private int checkKeyWords(String txt, int begin) {
HashMap nowhash = keysMap;
int res = 0;
for (int i = begin; i < txt.length(); i++) {
char word = txt.charAt(i);
Object wordMap = nowhash.get(word);// HashMap
if (wordMap == null) {
return 0;// HashMap,return 0
}
res++;// HashMap null, ,+1
nowhash = (HashMap) wordMap;// HashMap HashMap
if (((String) nowhash.get(\"isEnd\")).equals(\"1\")) {// ,
return res;
} else {
continue;
}
}
return res;
}
/**
* txt
*/
public boolean isContentKeyWords(String txt) {
for (int i = 0; i < txt.length(); i++) {
int len = checkKeyWords(txt, i);
if (len > 0) {
return true;
}
}
return false;
}
/**
* txt
*/
public List getTxtKeyWords(String txt) {
List list = new ArrayList();
int l = txt.length();
for (int i = 0; i < l;) {
int len = checkKeyWords(txt, i);
if (len > 0) {
String tt = txt.substring(i, i + len);
list.add(tt);
i += len;
} else {
i++;
}
}
return list;
}
/**
*
* */
public void initfiltercode() {
List keywords = new ArrayList();
keywords.add(\" \");
keywords.add(\" \");
keywords.add(\" \");
this.addKeywords(keywords);
}
public static void main(String[] args) throws IOException {
KeywordFilter filter = new KeywordFilter();
filter.initfiltercode();
String txt = \" , , ,\";
boolean boo = filter.isContentKeyWords(txt);
System.out.println(boo);
List set = filter.getTxtKeyWords(txt);
System.out.println(\" :\" + set);
}
}
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
다양한 언어의 JSONJSON은 Javascript 표기법을 사용하여 데이터 구조를 레이아웃하는 데이터 형식입니다. 그러나 Javascript가 코드에서 이러한 구조를 나타낼 수 있는 유일한 언어는 아닙니다. 저는 일반적으로 '객체'{}...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.