国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Java > 正文

java正則表達(dá)式實(shí)現(xiàn)提取需要的字符并放入數(shù)組【ArrayList數(shù)組去重復(fù)功能】

2019-11-26 13:16:45
字體:
供稿:網(wǎng)友

本文實(shí)例講述了java正則表達(dá)式實(shí)現(xiàn)提取需要的字符并放入數(shù)組。分享給大家供大家參考,具體如下:

這里演示Java正則表達(dá)式提取需要的字符并放入數(shù)組,即ArrayList數(shù)組去重復(fù)功能。

具體代碼如下:

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("去除重復(fù)值前");    for (int i=0;i<al.size();i++)    {      System.out.println(al.get(i).toString());    }    //去除重復(fù)值    HashSet hs=new HashSet(al);    al.clear();    al.addAll(hs);    System.out.println("去除重復(fù)值后");    for (int i=0;i<al.size();i++)    {      System.out.println(al.get(i).toString());    }  }}

輸出結(jié)果為:

去除重復(fù)值前120282458120282458125826去除重復(fù)值后125826120282458

改進(jìn)版:弄成一個(gè)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款非常方便的正則表達(dá)式工具供大家參考使用:

JavaScript正則表達(dá)式在線測試工具:
http://tools.VeVB.COm/regex/javascript

正則表達(dá)式在線生成工具:
http://tools.VeVB.COm/regex/create_reg

希望本文所述對大家java程序設(shè)計(jì)有所幫助。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 迭部县| 喀喇沁旗| 保德县| 蒙阴县| 吉安市| 怀来县| 凭祥市| 武义县| 吉木乃县| 夏河县| 本溪| 南宫市| 富阳市| 响水县| 香河县| 长泰县| 新昌县| 广宗县| 吴桥县| 凤翔县| 农安县| 亳州市| 土默特右旗| 洞头县| 东台市| 揭阳市| 南投市| 平陆县| 沙坪坝区| 三亚市| 土默特左旗| 永兴县| 德昌县| 武鸣县| 萨嘎县| 靖州| 西吉县| 定日县| 临洮县| 阜康市| 恩施市|