全网整合营销服务商

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

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

Java中获取子字符串的几种方法示例

首先假如有这样一串字符串:

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

假如我想把"100"给取出来,该如何做?

方法一: 采用split的方式

System.out.println(s.split(" ")[1]);或者System.out.println(s.split("\\s")[1]);

假如空" "有多个时,可以这样:

System.out.println(s.split("\\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("\\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./regex/javascript

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

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。


# java获取子字符串  # java字符串查找子串  # java取子字符串  # Java动态规划之编辑距离问题示例代码  # Java动态规划之硬币找零问题实现代码  # Java矩阵连乘问题(动态规划)算法实例分析  # Java算法之最长公共子序列问题(LCS)实例分析  # Java最长公共子序列示例源码  # java实现求两个字符串最长公共子串的方法  # Java字符串中删除指定子字符串的方法简介  # Java的字符串中对子字符串的查找方法总结  # java查找字符串中的包含子字符串的个数实现代码  # java实现统计字符串中字符及子字符串个数的方法示例  # Java基于动态规划法实现求最长公共子序列及最长公共子字符串示例  # 多个  # 正则表达式  # 是一种  # 第一个  # 很有  # 要想  # 三种  # 这篇文章  # 想把  # 四种  # 玩转  # 则有  # 都与  # 如何做  # 装好  # 再为  # 有一个  # 测试工具  # 其中有  # 有疑问 


相关文章: 网站制作的软件有哪些,制作微信公众号除了秀米还有哪些比较好用的平台?  小捣蛋自助建站系统:数据分析与安全设置双核驱动网站优化  建站之星后台密码遗忘?如何快速找回?  css网站制作参考文献有哪些,易聊怎么注册?  常州企业网站制作公司,全国继续教育网怎么登录?  建站之星好吗?新手能否轻松上手建站?  建站主机助手选型指南:2025年热门推荐与高效部署技巧  建站之星如何配置系统实现高效建站?  实例解析angularjs的filter过滤器  nginx修改上传文件大小限制的方法  设计网站制作公司有哪些,制作网页教程?  网页设计与网站制作内容,怎样注册网站?  南京做网站制作公司,南京哈发网络有限公司,公司怎么样,做网页美工DIV+CSS待遇怎么样?  如何将凡科建站内容保存为本地文件?  ,怎么在广州志愿者网站注册?  宝盒自助建站智能生成技巧:SEO优化与关键词设置指南  盐城做公司网站,江苏电子版退休证办理流程?  建站之星如何一键生成手机站?  建站之星ASP如何实现CMS高效搭建与安全管理?  公众号网站制作网页,微信公众号怎么制作?  如何彻底删除建站之星生成的Banner?  如何制作公司的网站链接,公司想做一个网站,一般需要花多少钱?  宝塔建站后网页无法访问如何解决?  在线制作视频的网站有哪些,电脑如何制作视频短片?  一键网站制作软件,义乌购一件代发流程?  如何在Golang中引入测试模块_Golang测试包导入与使用实践  制作网站的公司有哪些,做一个公司网站要多少钱?  独立制作一个网站多少钱,建立网站需要花多少钱?  如何通过多用户协作模板快速搭建高效企业网站?  如何生成腾讯云建站专用兑换码?  专业企业网站设计制作公司,如何理解商贸企业的统一配送和分销网络建设?  建站主机是否等同于虚拟主机?  网站制作壁纸教程视频,电脑壁纸网站?  如何获取上海专业网站定制建站电话?  如何在万网自助建站中设置域名及备案?  如何在IIS中新建站点并配置端口与物理路径?  建站IDE高效指南:快速搭建+SEO优化+自适应模板全解析  简单实现Android验证码  建站之星五站合一营销型网站搭建攻略,流量入口全覆盖优化指南  深圳防火门网站制作公司,深圳中天明防火门怎么编码?  如何获取免费开源的自助建站系统源码?  如何快速配置高效服务器建站软件?  香港服务器部署网站为何提示未备案?  定制建站流程解析:需求评估与SEO优化功能开发指南  seo网站制作优化,网站SEO优化步骤有哪些?  长沙企业网站制作哪家好,长沙水业集团官方网站?  如何在服务器上配置二级域名建站?  如何通过IIS搭建网站并配置访问权限?  SAX解析器是什么,它与DOM在处理大型XML文件时有何不同?  浅析上传头像示例及其注意事项 

您的项目需求

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