/**
* 过滤广告(只能发布 [a-zA-z0-9及汉字,;?.]) ,排除其他特殊符号
* Created by 1 on 2015/8/19.
*/
public class FilterAD {
 
 
    public static void main(String[] args) throws UnsupportedEncodingException {
 
        String str = "afas141541d1221fs三df大法师⒉一二三一四①⑶112·2312,;?.,;?。";
        System.out.println(clearNotChinese(str));
        System.out.println(replaceill(clearNotChinese(str)));
 
        str = "非农白银裙,55,193,05在/线/指/导、验证【730】";
        System.out.println(clearNotChinese(str));
        System.out.println(replaceill(clearNotChinese(str)));
    }
 
 
    public static String clearNotChinese(String buff) {
        return buff.replaceAll("[^a-zA-Z0-9\u4E00-\u9FA5\u002C-\u002C\u003B-\u003B\u002E-\u002E\u003F-\u003F" +
                "\uFF0C-\uFF0C\uFF1B-\uFF1B\uFF1F-\uFF1F\u3002-\u3002]", "");
    }
 
 
    //一二三四五六七八九十
    //4E00 4E8C 4E09 56DB 4E94 516D 4E03 516B 4E5D 5341
    //59F9 8D30 53C1 8086 4F0D 9646 67D2 634C 7396
    //4E00 4E03 4E09 4E5D 4E8C 4E94 4F0D 516B 516D 5341
    //53C1 56DB 59F9 634C 67D2 7396 8086 8D30 9646
    //出现数值行字符替换掉
    public static String replaceill(String buff) {
        String str = buff.replaceAll("[^a-zA-Z\u4E01-\u4E02\u4E04-\u4E08\u4E0A-\u4E5C\u4E5E-\u4E8B" +
                "\u4E8D-\u4E93\u4E95-\u4F0C\u4F0E-\u516A\u516C-\u5340\u5342-\u53C0" +
                "\u53C2-\u56DA\u56DC-\u59F8\u59FA-\u634B\u634D-\u67D1\u67D3-\u7395\u7397-\u8085" +
                "\u8087-\u8D2F\u8D31-\u9645\u9647-\u9FA5\u002C-\u002C\u003B-\u003B\u002E-\u002E\u003F-\u003F" +
                "\uFF0C-\uFF0C\uFF1B-\uFF1B\uFF1F-\uFF1F\u3002-\u3002]", "#");
        str = str.replaceAll("[^#]",",");
 
        System.out.println(str);
        String nums[] = str.split(",");
 
        int numcount = 0;//数字统计
        int specount = 0;//间隔数
        for (String num:nums){
            if (num.length() > 5){
                System.out.println("存在qq广告");
            }else{
                if (num.length()>0){
                    if (specount > 2){
                        numcount = 0;
                        specount = 0;
                    }
                    numcount+=num.length();
                    if (numcount > 5){
                        System.out.println("存在qq广告");
                        specount = 0;
                    }
                }else{
                        specount++;
                }
            }
        }
 
        return str;
    }
 
}

过滤广告(只能发布 [a-zA-z0-9及汉字,;?.]) ,排除其他特殊符号的更多相关文章

  1. firefox火狐浏览器过滤广告插件:Adblock Plus

    firefox火狐浏览器过滤广告插件:Adblock Plus

  2. OpenWrt 路由器过滤广告的N种方法

    路由器已经成为每个家庭不可缺少的角色,手机.电脑.电视,凡是需要互联网的设备都要用到它.那么路由器除了给我们的网络设备分发网络外,还有其他用途吗? 现在很多人家里都用着智能路由器,智能路由器究竟怎么智 ...

  3. 🔥🔥🔥Flutter 字节跳动穿山甲广告插件发布 - FlutterAds

    前言 Flutter 已成为目前最流行的跨平台框架之一,在近期的几个大版本的发布中都提到了 Flutter 版本 Google 广告插件 [google_mobile_ads] .对于"出海 ...

  4. EasyUI combogrid/combobox过滤时限制只能选择现有项

    在使用EasyUI的combogrid时可以通过输入进行过滤,达到快速选择的目的,但是手工输入不存在的项也不会出错,结果提交到数据库后就会产生错误. 比如idField是int型的,输入的数据通过是检 ...

  5. javascript 键盘输入过滤,只能输入数字,小数一位且只能输入5

    $("#right_div2 input[type='text'][class='textClass'][id^='asd_']").live("keydown" ...

  6. mysql group by 过滤字段 只能在SELECT 后面出现,不能写其他字段 报错解决 关键字 sql_mode=only_full_group_by

    1:报错  关键字 sql_mode=only_full_group_bymysql> select uuid,ip,count(*) from dbname_report.t_client_i ...

  7. charles工具过滤腾讯视频播放器广告

    Charles是一个HTTP代理服务器,HTTP监视器,反转代理服务器,当程序连接Charles的代理访问互联网时,Charles可以监控这个程序发送和接收的所有数据.它允许一个开发者查看所有连接互联 ...

  8. Adblock Plus完美过滤视频网站广告、无黑屏!及屏蔽非本站脚本的Adblock Plus过滤器语法之探讨

    测试用浏览器:Firefox 24.订阅的Adblock Plus过滤规则有默认的 ChinaList + EasyList,和国内视频广告规则[Yge.me],其网址:http://i.yge.me ...

  9. RTB业务知识之1-原生广告

    一.背景 Native Advertising (Native Ads), 又称为原生广告, 是2013全球媒体界爆红的关键词,从2012年年底,就有人开始提了这个名词,接着到处都可以看到这个名词,再 ...

随机推荐

  1. Arouter核心思路和源码详解

    前言 阅读本文之前,建议读者: 对Arouter的使用有一定的了解. 对Apt技术有所了解. Arouter是一款Alibaba出品的优秀的路由框架,本文不对其进行全面的分析,只对其最重要的功能进行源 ...

  2. Qt+VC2010+glew环境安装配置

    Qt的源码及预编译安装包在 Qt Archive下载,http://download.qt.io/archive/qt/, 目前最新的是Qt5,其中和Qt4不同的是,Qt5多了个QOpenGLWidg ...

  3. SpringCloud教程二:Ribbon(Finchley版)

    在上一篇文章,讲了服务的注册和发现.在微服务架构中,业务都会被拆分成一个独立的服务,服务与服务的通讯是基于http restful的.Spring cloud有两种服务调用方式,一种是ribbon+r ...

  4. Flask中的数据连接池

    pymsql链接数据库 import pymysql conn = pymysql.connect(host='127.0.0.1', port=3306, user='root', passwd=' ...

  5. Unity 场景中看不到物体或者OnDrawGizmos画的线看不到

    有时候,Unity中的场景里面,物体突然看不见了,可以这样做:     首先,在 Hierarchy 面板选择看不见的物体,按下快捷键 f.如果物体还是看不见,见下图: 看看图中圈红的地方.如果,如果 ...

  6. 在博客中增加自己的live2d纸片人模型方法

    目录 在博客中增加自己的live2d纸片人模型 准备工具 使用步骤 附件 在博客中增加自己的live2d纸片人模型 准备工具 github仓库:存放live2d模型和json文件 如果你的博客支持本地 ...

  7. php反序列化漏洞复现

    超适合小白的php反序列化漏洞复现 写在前头的话 在OWASP TOP10中,反序列化已经榜上有名,但是究竟什么是反序列化,我觉得应该进下心来好好思考下.我觉得学习的时候,所有的问题都应该问3个问题: ...

  8. JQ获取元素属性值

    最近在学习JAVA Web,自己也是做个下列表左右选择的小案例. 获取某个元素的属性值一直以为是要调用atrr方法,不过好像获取元素的数组形式再遍历每个元素的时候想获取到它的属性值用attr方法有问题 ...

  9. Spring Boot 2.X(十):自定义注册 Servlet、Filter、Listener

    前言 在 Spring Boot 中已经移除了 web.xml 文件,如果需要注册添加 Servlet.Filter.Listener 为 Spring Bean,在 Spring Boot 中有两种 ...

  10. 楼上请让路 RoarCTF2019 Writeup

    Misc 签到题 RoarCTF{签到!!!} 黄金六年 文件尾部有一段base64,解码为16进制可以看到是一个压缩包 打开压缩包需要密码 使用pr抽帧 可以看到部分帧中有二维码,依次扫码即可得到k ...