91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 14KB
    文件類型: .zip
    金幣: 2
    下載: 1 次
    發布日期: 2021-06-17
  • 語言: Java
  • 標簽: java??

資源簡介

用java實現根據用戶傳進來的話語是否包含敏感詞,如果包含敏感詞用*來替代輸出。

資源截圖

代碼片段和文件信息

package?com.chenssy.keyword;

import?java.util.HashSet;
import?java.util.Iterator;
import?java.util.Map;
import?java.util.Set;

/**
?*?@Description:?敏感詞過濾
?*?@Project:test
?*/
public?class?SensitivewordFilter?{
@SuppressWarnings(“rawtypes“)
private?Map?sensitiveWordMap?=?null;
public?static?int?minMatchTYpe?=?1;??????//最小匹配規則
public?static?int?maxMatchType?=?2;??????//最大匹配規則

/**
?*?構造函數,初始化敏感詞庫
?*/
public?SensitivewordFilter(){
sensitiveWordMap?=?new?SensitiveWordInit().initKeyWord();
}

/**
?*?判斷文字是否包含敏感字符
?*?@param?txt??文字
?*?@param?matchType??匹配規則 1:最小匹配規則,2:最大匹配規則
?*?@return?若包含返回true,否則返回false
?*?@version?1.0
?*/
public?boolean?isContaintSensitiveWord(String?txtint?matchType){
boolean?flag?=?false;
for(int?i?=?0?;?i? int?matchFlag?=?this.CheckSensitiveWord(txt?i?matchType);?//判斷是否包含敏感字符
if(matchFlag?>?0){????//大于0存在,返回true
flag?=?true;
}
}
return?flag;
}

/**
?*?獲取文字中的敏感詞
?*?@param?txt?文字
?*?@param?matchType?匹配規則 1:最小匹配規則,2:最大匹配規則
?*?@return
?*?@version?1.0
?*/
public?Set?getSensitiveWord(String?txt??int?matchType){
Set?sensitiveWordList?=?new?HashSet();

for(int?i?=?0?;?i? int?length?=?CheckSensitiveWord(txt?i?matchType);????//判斷是否包含敏感字符
if(length?>?0){????//存在加入list中
sensitiveWordList.add(txt.substring(i?i+length));
i?=?i?+?length?-?1;????//減1的原因,是因為for會自增
}
}

return?sensitiveWordList;
}

/**
?*?替換敏感字字符
?*?@param?txt
?*?@param?matchType
?*?@param?replaceChar?替換字符,默認*
?*?@version?1.0
?*/
public?String?replaceSensitiveWord(String?txtint?matchTypeString?replaceChar){
String?resultTxt?=?txt;
Set?set?=?getSensitiveWord(txt?matchType);?????//獲取所有的敏感詞
Iterator?iterator?=?set.iterator();
String?word?=?null;
String?replaceString?=?null;
while?(iterator.hasNext())?{
word?=?iterator.next();
replaceString?=?getReplaceChars(replaceChar?word.length());
resultTxt?=?resultTxt.replaceAll(word?replaceString);
}

return?resultTxt;
}

/**
?*?獲取替換字符串
?*?@param?replaceChar
?*?@param?length
?*?@return
?*?@version?1.0
?*/
private?String?getReplaceChars(String?replaceCharint?length){
String?resultReplace?=?replaceChar;
for(int?i?=?1?;?i? resultReplace?+=?replaceChar;
}

return?resultReplace;
}

/**
?*?檢查文字中是否包含敏感字符,檢查規則如下:

?*?@param?txt
?*?@param?beginIndex
?*?@param?matchType
?*?@return,如果存在,則返回敏感詞字符的長度,不存在返回0
?*?@version?1.0
?*/
@SuppressWarnings({?“rawtypes“})
public?int?CheckSensitiveWord(String?txtint?beginIndexint?matchType){
boolean??flag?=?false;????//敏感詞結束標識位:用于敏感詞只有1位的情況
int?matchFlag?=?0;?????//匹配標識數默認為0
char?word?=?0;
Map?nowMap?=?sensitiveWordMap;
for(int?i?=?beginIndex;?i? word?=?txt.charAt(i);
nowMap?=?(Map)?nowMap.ge

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-08-29?21:15??敏感詞過濾\
?????目錄???????????0??2018-08-29?21:15??敏感詞過濾\.git\
?????文件??????????23??2018-08-29?21:15??敏感詞過濾\.git\HEAD
?????文件?????????130??2018-08-29?21:15??敏感詞過濾\.git\config
?????文件??????????73??2018-08-29?21:15??敏感詞過濾\.git\description
?????目錄???????????0??2018-08-29?21:15??敏感詞過濾\.git\hooks\
?????文件?????????478??2018-08-29?21:15??敏感詞過濾\.git\hooks\applypatch-msg.sample
?????文件?????????896??2018-08-29?21:15??敏感詞過濾\.git\hooks\commit-msg.sample
?????文件?????????189??2018-08-29?21:15??敏感詞過濾\.git\hooks\post-update.sample
?????文件?????????424??2018-08-29?21:15??敏感詞過濾\.git\hooks\pre-applypatch.sample
?????文件????????1642??2018-08-29?21:15??敏感詞過濾\.git\hooks\pre-commit.sample
?????文件????????1348??2018-08-29?21:15??敏感詞過濾\.git\hooks\pre-push.sample
?????文件????????4951??2018-08-29?21:15??敏感詞過濾\.git\hooks\pre-rebase.sample
?????文件????????1239??2018-08-29?21:15??敏感詞過濾\.git\hooks\prepare-commit-msg.sample
?????文件????????3611??2018-08-29?21:15??敏感詞過濾\.git\hooks\update.sample
?????目錄???????????0??2018-08-29?21:15??敏感詞過濾\.git\info\
?????文件?????????240??2018-08-29?21:15??敏感詞過濾\.git\info\exclude
?????目錄???????????0??2018-08-29?21:15??敏感詞過濾\.git\objects\
?????目錄???????????0??2018-08-29?21:19??敏感詞過濾\.git\objects\info\
?????目錄???????????0??2018-08-29?21:19??敏感詞過濾\.git\objects\pack\
?????目錄???????????0??2018-08-29?21:15??敏感詞過濾\.git\refs\
?????目錄???????????0??2018-08-29?21:19??敏感詞過濾\.git\refs\heads\
?????目錄???????????0??2018-08-29?21:19??敏感詞過濾\.git\refs\tags\
?????文件????????3745??2018-08-29?21:05??敏感詞過濾\SensitiveWordInit.java
?????文件????????4794??2018-08-29?21:04??敏感詞過濾\SensitivewordFilter.java

評論

共有 條評論