Java數(shù)據(jù)敏感詞轉(zhuǎn)換成符號的方法詳解
Java數(shù)據(jù)敏感詞轉(zhuǎn)換成符號
在某個論壇下用戶可以隨意留言,為了防止不法分子在網(wǎng)上任意沖浪,需要對一些敏感詞匯進(jìn)行一些校驗。在這里使用一個高性能敏感詞工具sensitive-word。
maven
<!-- 數(shù)據(jù)脫敏 --> <dependency> <groupId>com.github.houbb</groupId> <artifactId>sensitive-word</artifactId> <version>0.13.1</version> </dependency>
直接使用
String str1 = "我他媽的沒有說過臟話"; String replace1 = SensitiveWordHelper.replace(str1); System.out.println("原始數(shù)據(jù):" + str1); System.out.println("脫敏數(shù)據(jù):" + replace1); // 原始數(shù)據(jù):我他媽的沒有說過臟話 // 脫敏數(shù)據(jù):我***沒有說過臟話
結(jié)合Spring使用
拓展已脫敏詞匯
@Component public class MyWordDeny implements IWordDeny { @Override public List<String> deny() { return Arrays.asList("盧本偉沒有開掛","我的發(fā)"); } }
拓展排除脫敏詞匯
@Component public class MyWordAllow implements IWordAllow { @Override public List<String> allow() { return Arrays.asList("廢物","辣雞"); } }
配置類
@Configuration public class SpringSensitiveWordConfig { /** * 排除敏感詞 */ @Resource private MyWordAllow myWordAllow; /** * 拓展敏感詞 */ @Resource private MyWordDeny myWordDeny; /** * 初始化引導(dǎo)類 * WordAllows.chains 在原作者詞匯數(shù)據(jù)庫進(jìn)行拓展 * WordDenys.chains 同上 */ @Bean public SensitiveWordBs sensitiveWordBs() { return SensitiveWordBs.newInstance() .wordAllow(WordAllows.chains(WordAllows.defaults(), myWordAllow)) .wordDeny(WordDenys.chains(WordDenys.defaults(), myWordDeny)) .init(); } }
測試調(diào)用
@SpringBootTest(classes = QpikerAdminApplication.class) @RunWith(SpringRunner.class) public class SensitiveTest { /** * 數(shù)據(jù)脫敏 */ @Resource private SpringSensitiveWordConfig springSensitiveWordConfig; @Test public void wordSensitive(){ String str = "誰他媽的是廢物?,我盧本偉沒有開掛真的,1824176666,我的發(fā)你是小辣雞"; System.out.println("原始數(shù)據(jù):" + str); String replace = springSensitiveWordConfig.sensitiveWordBs().replace(str); System.out.println("脫敏數(shù)據(jù):" + replace); } }
輸出結(jié)果
原始數(shù)據(jù):誰他媽的是廢物?,我盧本偉沒有開掛真的,18241766666,他媽的,我的發(fā)你是小辣雞
脫敏數(shù)據(jù):誰***是廢物?,我*******真的,***********,***,***你是小辣雞'廢物' 被加到排除脫敏數(shù)據(jù)中,結(jié)果沒被替換
'盧本偉沒有開掛' 被加到已脫敏數(shù)據(jù)中,結(jié)果被替換
真沒有意說臟話,希望各大網(wǎng)友們構(gòu)建一個文明網(wǎng)絡(luò)世界。
到此這篇關(guān)于Java數(shù)據(jù)敏感詞轉(zhuǎn)換成符號的示例代碼的文章就介紹到這了,更多相關(guān)Java敏感詞轉(zhuǎn)換成符號內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Java 實戰(zhàn)項目之家居購物商城系統(tǒng)詳解流程
讀萬卷書不如行萬里路,只學(xué)書上的理論是遠(yuǎn)遠(yuǎn)不夠的,只有在實戰(zhàn)中才能獲得能力的提升,本篇文章手把手帶你用Java實現(xiàn)一個家居購物商城系統(tǒng),大家可以在過程中查缺補(bǔ)漏,提升水平2021-11-11Java實現(xiàn)的微信圖片處理工具類【裁剪,合并,等比例縮放等】
這篇文章主要介紹了Java實現(xiàn)的微信圖片處理工具類,可實現(xiàn)針對圖片的裁剪、合并、等比例縮放、旋轉(zhuǎn)、識別等各種常見的圖片處理功能,需要的朋友可以參考下2017-11-11mybatis返回的map結(jié)果如何設(shè)置有序
這篇文章主要介紹了mybatis返回的map結(jié)果如何設(shè)置有序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2022-01-01Java編譯錯誤信息提示java.lang.ExceptionInInitializer解決
這篇文章主要介紹了Java編譯錯誤信息提示java.lang.ExceptionInInitializer的分析講解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2022-07-07Java?實現(xiàn)判定順序表中是否包含某個元素(思路詳解)
這篇文章主要介紹了Java?實現(xiàn)判定順序表中是否包含某個元素,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2023-06-06java正則表達(dá)式對特殊字符的轉(zhuǎn)義以及異常現(xiàn)象
這篇文章主要給大家介紹了關(guān)于java正則表達(dá)式對特殊字符的轉(zhuǎn)義以及異?,F(xiàn)象的相關(guān)資料,在Java中使用正則表達(dá)式匹配特殊字符也需要使用轉(zhuǎn)義字符"\",需要的朋友可以參考下2023-06-06