全网整合营销服务商

电脑端+手机端+微信端=数据同步管理

免费咨询热线:400-708-3566

java正则表达式实现提取需要的字符并放入数组【ArrayList数组去重复功能】

本文实例讲述了java正则表达式实现提取需要的字符并放入数组。分享给大家供大家参考,具体如下:

这里演示Java正则表达式提取需要的字符并放入数组,即ArrayList数组去重复功能。

具体代码如下:

package com.test.tool;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.regex.*;
public class MatchTest {
  public static void main(String[] args)
  {
    String regex = "[0-9]{5,12}";
    String input = "QQ120282458,QQ120282458 QQ125826";
    Pattern p = Pattern.compile(regex);
    Matcher m = p.matcher(input);
    ArrayList al=new ArrayList();
    while (m.find()) {
      al.add(m.group(0));
    }
    System.out.println("去除重复值前");
    for (int i=0;i<al.size();i++)
    {
      System.out.println(al.get(i).toString());
    }
    //去除重复值
    HashSet hs=new HashSet(al);
    al.clear();
    al.addAll(hs);
    System.out.println("去除重复值后");
    for (int i=0;i<al.size();i++)
    {
      System.out.println(al.get(i).toString());
    }
  }
}

输出结果为:

去除重复值前
120282458
120282458
125826
去除重复值后
125826
120282458

改进版:弄成一个bean:

package com.test.tool;
import java.util.ArrayList;
import java.util.HashSet;
import java.util.regex.*;
public class MatchTest {
  private String regex;
  private String input;
  private ArrayList al;
  public String getRegex() {
    return regex;
  }
  public void setRegex(String regex) {
    this.regex = regex;
  }
  public String getInput() {
    return input;
  }
  public void setInput(String input) {
    this.input = input;
  }
  public ArrayList getAl() {
    return al;
  }
  public void setAl(ArrayList al) {
    this.al = al;
  }
  public MatchTest(String regex,String input)
  {
    Pattern p=Pattern.compile(regex);
    Matcher m=p.matcher(input);
    ArrayList myal=new ArrayList();
    while (m.find())
    {
      myal.add(m.group());
    }
    HashSet hs=new HashSet(myal);
    myal.clear();
    myal.add(hs);
    this.setRegex(regex);
    this.setInput(input);
    this.setAl(myal);
  }
  public MatchTest(){}
  public static void main(String[] args){
     String regex1 = "[0-9]{5,12}";
     String input1="QQ120282458,QQ120282458 QQ125826";
     //String input1="QQ";
    MatchTest mt=new MatchTest(regex1,input1);
    for (int i=0;i<mt.getAl().size();i++)
    {
      System.out.println(mt.getAl().get(i).toString());
    }
  }
}

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools./regex/javascript

正则表达式在线生成工具:
http://tools./regex/create_reg

希望本文所述对大家java程序设计有所帮助。


# java  # 正则表达式  # 提取  # 字符  # 放入数组  # ArrayList  # 数组  # 去重复  # java使用Stream流对自定义对象数组去重的实现  # Java对int[]数组做新增删除去重操作代码  # Java数组去重复的18种方法示例  # Java数组的去重  # JavaScrip数组去重操作实例小结  # Java实现的数组去重与排序操作详解  # 给大家  # 所述  # 程序设计  # 弄成  # 再为  # 改进版  # 测试工具  # 讲述了  # args  # input  # void  # static  # String  # main  # find  # al  # group  # add  # compile 


相关文章: 代购小票制作网站有哪些,购物小票的简要说明?  制作证书网站有哪些,全国城建培训中心证书查询官网?  香港服务器选型指南:免备案配置与高效建站方案解析  网站制作网站,深圳做网站哪家比较好?  武清网站制作公司,天津武清个人营业执照注销查询系统网站?  代刷网站制作软件,别人代刷火车票靠谱吗?  建站之星如何快速更换网站模板?  已有域名建站全流程解析:网站搭建步骤与建站工具选择  如何零基础开发自助建站系统?完整教程解析  义乌企业网站制作公司,请问义乌比较好的批发小商品的网站是什么?  如何在沈阳梯子盘古建站优化SEO排名与功能模块?  建站之星后台搭建步骤解析:模板选择与产品管理实操指南  建站之星导航菜单设置与功能模块配置全攻略  昆明高端网站制作公司,昆明公租房申请网上登录入口?  北京企业网站设计制作公司,北京铁路集团官方网站?  如何快速搭建响应式可视化网站?  成都品牌网站制作公司,成都营业执照年报网上怎么办理?  如何快速搭建高效WAP手机网站?  制作电商网页,电商供应链怎么做?  如何用y主机助手快速搭建网站?  建站之星展会模板:智能建站与自助搭建高效解决方案  大连网站制作公司哪家好一点,大连买房网站哪个好?  免费公司网站制作软件,如何申请免费主页空间做自己的网站?  网站制作公司排行榜,四大门户网站排名?  洛阳网站制作公司有哪些,洛阳的招聘网站都有哪些?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  定制建站流程解析:需求评估与SEO优化功能开发指南  专业网站制作服务公司,有哪些网站可以免费发布招聘信息?  定制建站如何定义?其核心优势是什么?  Python多线程使用规范_线程安全解析【教程】  相册网站制作软件,图片上的网址怎么复制?  制作国外网站的软件,国外有哪些比较优质的网站推荐?  模具网站制作流程,如何找模具客户?  如何在Golang中实现微服务服务拆分_Golang微服务拆分与接口管理方法  婚礼视频制作网站,学习*后期制作的网站有哪些?  如何有效防御Web建站篡改攻击?  Avalonia如何实现跨窗口通信 Avalonia窗口间数据传递  如何通过VPS搭建网站快速盈利?  宝塔新建站点为何无法访问?如何排查?  想学网站制作怎么学,建立一个网站要花费多少?  建站之星如何实现五合一智能建站与营销推广?  矢量图网站制作软件,用千图网的一张矢量图做公司app首页,该网站并未说明版权等问题,这样做算不算侵权?应该如何解决?  如何在建站之星网店版论坛获取技术支持?  如何在阿里云完成域名注册与建站?  制作网站公司那家好,网络公司是做什么的?  PHP 500报错的快速解决方法  如何在云主机上快速搭建网站?  教育培训网站制作流程,请问edu教育网站的域名怎么申请?  清单制作人网站有哪些,近日“兴风作浪的姑奶奶”引起很多人的关注这是什么事情?  如何通过FTP空间快速搭建安全高效网站? 

您的项目需求

*请认真填写需求信息,我们会在24小时内与您取得联系。