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

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小时内与您取得联系。