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

首頁 > 編程 > Java > 正文

Java中獲取子字符串的幾種方法示例

2019-11-26 13:14:35
字體:
來源:轉載
供稿:網友

首先假如有這樣一串字符串:

String s = "共 100 頁, 1 2 3 4...";

假如我想把"100"給取出來,該如何做?

方法一: 采用split的方式

System.out.println(s.split(" ")[1]);或者System.out.println(s.split("http://s")[1]);

假如空" "有多個時,可以這樣:

System.out.println(s.split("http://s+")[1]);

注:split是支持正則的,/s在正則中表示空格,+在正則中表示至少1個,即1個或多個,所以/s+表示至少有一個空格

方法二: 采用indexOf的方式

int begin = s.indexOf(" ");int end = s.indexOf(" ", begin+1);System.out.println(s.substring(begin+1, end));

方法三: 正則

封裝好的一個正則類:

public class RegExp {   public boolean match(String reg, String str) {    return Pattern.matches(reg, str);  }   public List<String> find(String reg, String str) {    Matcher matcher = Pattern.compile(reg).matcher(str);    List<String> list = new ArrayList<String>();    while (matcher.find()) {      list.add(matcher.group());    }    return list;  }     public String find(String reg, String str, int index) {    Matcher matcher = Pattern.compile(reg).matcher(str);    if (matcher.find()) {      return matcher.group(index);    }    return null;  }   public String findString(String reg, String str) {    String returnStr = null;    List<String> list = this.find(reg, str);    if (list.size() != 0)      returnStr = list.get(0);    return returnStr;  } }
 RegExp re = new RegExp(); System.out.println(re.findString("http://d+", s)); System.out.println(re.findString("(?<=共).*?//d+", s).trim());

注:正則中/d表示數字,(?<=共)是一種預查模式

方法四: 采用replaceFirst的方式

System.out.println(s.replaceFirst(".*?(//d+).*", "$1"));

replaceFirst也是支持正則的

注: ?在正則中表示最小匹配模式,$1表示第一個()表示式里面的內容。

總結

以上四種方法中,其中有三種都與正則有關系,所以,要想玩轉字符串的操作,具備一定的正則表示式的能力還是很有必要的!

PS:這里再為大家提供2款非常方便的正則表達式工具供大家參考使用:

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

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

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 丰城市| 扶余县| 宕昌县| 仲巴县| 保亭| 和林格尔县| 平顶山市| 甘孜县| 南城县| 略阳县| 宝鸡市| 永春县| 富源县| 阿勒泰市| 吉隆县| 巴东县| 阳东县| 耒阳市| 上饶县| 赤水市| 宜黄县| 榆中县| 临洮县| 宝坻区| 济源市| 吉木萨尔县| 寻甸| 邓州市| 崇信县| 清原| 滦平县| 云霄县| 太湖县| 武陟县| 封开县| 方城县| 扎囊县| 武川县| 响水县| 成武县| 罗田县|