Java截取字符串的几种方法示例
作者:程序员大腾 发布时间:2023-11-29 12:36:32
0 写在前面
在实际工作中有一些地方需要用到截取字符串的方法,所以在此记录下截取字符串的几种方法。
.substring()
StringUtils.substring()
split()+正则表达式
1 .substring()
这个是比较常用的一个方法。
此方法有两种形式:
substring(int beginIndex); //提取从索引位置开始至结尾处的字符串部分
substring(int beginIndex,int endIndex); //提取beginIndex开始到endIndex的字符串部分
实例代码:
String str = "你好,Java练习生";
//substring(int beginIndex);
String substring1 = str.substring(3);
//substring(int beginIndex,int endIndex);
String substring2 = str.substring(3, 7);
System.out.println(substring1);//Java练习生
System.out.println(substring2);//Java
需要注意的是:计数从0开始,如果超过了字符串长度则会报错:
java.lang.StringIndexOutOfBoundsException: String index out of range:
计算位置示意图
2 split()+正则表达式
不常用,不过在某些特定场合特别好用。
格式:字符串.split("指定分隔符");
–返回的是一个数组
举例(以英文逗号为分隔符):
String str = "good,good,study,day,day,up";
String[] split = str.split(",");
for (String s:
split) {
System.out.println(s);
}
3 StringUtils.substring()
需要在导入StringUtils的工具类。结合了很多方法。
因为每个人用的工具类不同所以只记录一种。
maven导入:
<dependency>
<groupId>com.lispcast</groupId>
<artifactId>org.apache.commons.lang</artifactId>
<version>2.5.0</version>
</dependency>
String substring(String str,int start):避免异常地从指定的String获取一个子字符串。
String substring(String str,int start, int end):可避免异常地从指定的String获取一个子字符串。
String substringAfter(String str,String separator):在第一次出现分隔符后获取子字符串。
String substringAfterLast(String str,String separator):在最后一次出现分隔符之后获取子字符串。
String substringBefore(String str,String separator):在第一次出现分隔符之前获取子字符串。
String substringBeforeLast(String str,String separator):在最后一次出现分隔符之前获取子字符串。
String substringBetween(String str,String tag):获取嵌套在同一String的两个实例之间的String。
String substringBetween(String str, String open, String close):获取嵌套在两个字符串之间的字符串。
测试:
String str = "大家好,我是练习两年半的个人练习生,cxk";
//- String substring(String str,int start):避免异常地从指定的String获取一个子字符串。
String substring1 = StringUtils.substring(str, 4);
//- String substring(String str,int start, int end):可避免异常地从指定的String获取一个子字符串。
String substring2 = StringUtils.substring(str, 4, 7);
//- String substringAfter(String str,String separator):在第一次出现分隔符后获取子字符串。
String substringAfter = StringUtils.substringAfter(str, ",");
//- String substringAfterLast(String str,String separator):在最后一次出现分隔符之后获取子字符串。
String substringAfterLast = StringUtils.substringAfterLast(str, ",");
//- String substringBefore(String str,String separator):在第一次出现分隔符之前获取子字符串。
String substringBefore = StringUtils.substringBefore(str, ",");
//- String substringBeforeLast(String str,String separator):在最后一次出现分隔符之前获取子字符串。
String substringBeforeLast = StringUtils.substringBeforeLast(str, ",");
//- String substringBetween(String str,String tag):获取嵌套在同一String的两个实例之间的String。
String substringBetween1 = StringUtils.substringBetween(str, ",");
// - String substringBetween(String str, String open, String close):获取嵌套在两个字符串之间的字符串。
String substringBetween2 = StringUtils.substringBetween(str, "好", "的");
System.out.println(substring1);
System.out.println(substring2);
System.out.println(substringAfter);
System.out.println(substringAfterLast);
System.out.println(substringBefore);
System.out.println(substringBeforeLast);
System.out.println(substringBetween1);
System.out.println(substringBetween2);
4 写在最后
注意:substring() 方法是按字符截取,而不是按字节截取。
工具类没什么神奇的,都是编写好的方法直接拿来用的,省事,也可以自行尝试编写工具类。
来源:https://blog.csdn.net/weixin_45909221/article/details/128305623


猜你喜欢
- 本次数据请求使用postman, postman下载地址:https://www.getpostman.com/一、页面跳转1. 页面跳转@
- 本文实例讲述了Java实现的简单音乐播放器功能。分享给大家供大家参考,具体如下:应用名称:Java简单的音乐播放器用到的知识:Java GU
- 前言在项目开发中,日志系统是必不可少的,用AOP在Web的请求做入参和出参的参数打印,同时对异常进行日志打印,避免重复的手写日志,完整案例见
- 前言之前实现过《Android可签到的日历控件》的功能,跟这篇一样都是实现签到打卡功能,这篇实现的是按月进行打卡做标识,本篇内容实现的按周进
- Android 中在有序广播中添加自定义权限的实例前言;有序广播说明:有序广播因为要处理消息的处理结果,所以要复杂一些。 * sendOrd
- 当变换Java代码为Ceylon代码时,有时候我会遇到一些Java类构造器混淆了验证与初始化的情形。让我们使用一个简单但是人为的代码例子来说
- 将BeanFactory和ApplicationContext作为容器使用在Spring中,BeanFactory和ApplicationC
- 对不起大家,昨天文章里的告别说早了,这个系列还不能就这么结束。我们前面的文章中讲解过RabbitMQ的用法,所谓MQ就是一种发布订阅模式的消
- 引言Random类是非常值得学习的一个类,所以我们今天一起学习一下Random这个类,对于模拟数据这个是随机类可是一个好东西,我们可以用这个
- 众所周知,java提供了很多字符串截取的方式。下面就来看看大致有几种。1.split()+正则表达式来进行截取。 将正则传入split()。
- HttpClient介绍HttpClient 不是一个浏览器。它是一个客户端的 HTTP 通信实现库。HttpClient的目标是发 送和接
- java类的方法,我特别喜欢《java编程思想》里面的描述,这本书说java类之间的相互通信是通过消息。比如顾客类的对象调用一个eat方法,
- 本文实例为大家分享了Android实现拼图小游戏的具体代码,供大家参考,具体内容如下目标效果: 1.activity_main.x
- 本文实例形式详述了Java实现一个程序运行时的启动窗口效果,如常用的Microsoft Word、 Borland JBuilder 等,这
- 1:引入依赖<dependency> <
- 在上一篇文章中,我们实现了统计每个产品和地区的销售额,如果现在需要统计每个产品和地区所占市场份额的百分比,那么使用堆叠条形图是不合适的,我们
- 有时候会碰到一些需要设置开始日期和结束日期的需求,比如有很多商品,每件商品都有开始出售日期和结束出售日期的字段。如何使用DatePicker
- 本文实例为大家分享了Android实现简易QQ界面的具体代码,供大家参考,具体内容如下要求: (1)与QQ界面控件数目、样式相同 (2)与Q
- 本文实例讲述了Android开发之DatePicker和TimePicker实现选择日期时间功能。分享给大家供大家参考,具体如下:DateP
- 本文实例讲述了C#实现将浮点数表示的货币数量以汉字大写形式输出的方法。分享给大家供大家参考。具体如下:1.函数代码注:本段代码中能转化的最大