首页 > 编程语言 >Java字符串分割[split()]和截取[substring()]

Java字符串分割[split()]和截取[substring()]

时间:2023-11-21 20:02:48浏览次数:37  
标签:分割 beginIndex Java int substring 索引 split 字符串

字符串的分割:

一般自字符串的分割常用的方法是java.lang包中的String.split()方法,返回是一个字符串数组。

语法:

public String[] split(String regex, int limit)

参数:

  • regex -- 正则表达式分隔符。
  • limit -- 分割的份数。

比如:需要分割字符串中的每个字符(空格也会被看做字符),split()中可以只放引号,不加如其他参数:

Java字符串分割[split()]和截取[substring()]_字符串

输出:

Java字符串分割[split()]和截取[substring()]_正则表达式_02

但是如果需要按照特定的字符来分割字符串,比如:空格,逗号,句号等,可以直接将指定字符当做参数:

此处用空格做例:

Java字符串分割[split()]和截取[substring()]_字符串_03

输出:

Java字符串分割[split()]和截取[substring()]_正则表达式_04

需要注意的是像【.】【|】【+】【*】等都是转义字符,在作为参数时,需要加入“\\”,如:

str.split(".")//错误写法
 
str.split("\\.")//正确写法

在需要进行多字符分割时,可以采用如下方法:

Java字符串分割[split()]和截取[substring()]_正则表达式_05

或者:

Java字符串分割[split()]和截取[substring()]_字符串_06

输出:

Java字符串分割[split()]和截取[substring()]_字符串_07

值得注意的是,多字符分割时,如果字符串中存在连续两个或者两个以上指定分割字符,会在那个位置返回空格。

前面介绍的都是比较简单的应用,若果熟悉正则表达式,那么会发现前面的一些分割符是以正则表达式的方式进行的分割,

复杂一些的就是利用正则串来分割

如:

Java字符串分割[split()]和截取[substring()]_字符串_08

输出:

Java字符串分割[split()]和截取[substring()]_正则表达式_09


其他这里不再赘述。

 

字符串的截取:

substring() 方法返回字符串的子字符串。

语法:

public String substring(int beginIndex)
//或
public String substring(int beginIndex, int endIndex)

参数

  • beginIndex -- 起始索引(包括), 索引从 0 开始。
  • endIndex -- 结束索引(不包括)。

先说substring(int beginIndex),输入一个参数beginIndex,它会返回一个从这个索引开始直到原字符串末尾的字符串

如:

Java字符串分割[split()]和截取[substring()]_字符串_10

输出:

Java字符串分割[split()]和截取[substring()]_字符串_11

至于substring(int beginIndex, int endIndex),输入两个参数,第一个为开始索引,第二个为结束索引,它会返回两个索引之间的字符串,结束索引所指向字符不包括在返回的字符串内。

例:

Java字符串分割[split()]和截取[substring()]_字符串_12

输出:

Java字符串分割[split()]和截取[substring()]_分割字符串_13




标签:分割,beginIndex,Java,int,substring,索引,split,字符串
From: https://blog.51cto.com/u_16071479/8505993

相关文章

  • 有趣的Java之@Autowired属性注入问题
    ......
  • Java方法
    01:什么是方法 Java方法是语句的集合,它们在一起执行一个功能。 02:方法的定义和调用方法的定义Java的方法类似于其它语言的函数,是-段用来完成特定功能的代码片段,一般情况下,定义一个方法包含以下语法:方法包含一个方法头和一个方法体。下面是一个方法的所有部分:修......
  • Java:泛型和通配符的区别
    一开始我学习通配符的时候,我觉得这个和泛型T不都一样吗?都是表示未确定的类型,有何区别举一个下面的例子:@Testpublicvoiddemo1(){List<Object>list=null;List<String>listString=newArrayList<>();List<Double>listDouble=n......
  • java读取.properties文件,通过key获取value
    1.将xx.properties文件放置在src/main/resources/config目录下(config是自己建的目录)2.通过ApplicationHome类获取target路径ApplicationHomeapplicationHome=newApplicationHome(this.getClass());Stringpath=applicationHome.getSource().getParent();3.拼......
  • LeetCode-Java:88合并两个有序数组
    题目:给你两个按非递减顺序排列的整数数组nums1和nums2,另有两个整数m和n,分别表示nums1和nums2中的元素数目。请你合并nums2到nums1中,使合并后的数组同样按非递减顺序排列。注意:最终,合并后数组不应由函数返回,而是存储在数组nums1中。为了应对这种情况,nums1......
  • Java Junit5 使用小结
    在我们的日常开发中,代码一边编码一边自测是常有的事,做好单元测试也是一名开发应该掌握的技能,不说测试搞得多么强,至少会基本的,会功能测试,会性能测试。今天来学习下单元测试。1.JUnit5介绍现在主要版本是JUnit5,所以后面的内容也都是基于JUnit5做相关的介绍。JUnit5是JUnit......
  • JAVA树形结构查询
    1. 2. setDeep查询几层,不固定默认查询全部层 ......
  • 【JAVA基础】事务管理
    @Transactional注解的属性介绍@Transactional(propagation=Propagation.REQUIRED,rollbackFor=Exception.class)......
  • JavaWeb01-JDBC学习总结
    为什么需要JDBC?JDBC就是使用Java语言来操作关系型数据库的一套API。市场拥有众多的数据库:MySQL、Oracle、DB2等等。不可能每个数据库都重新开发Java代码来适配不同的数据库,那么Sun公司定义一套标准接口来统一操作数据库。其中所谓的MySQL实现类就是MySQL驱动(驱动Jar包)这样就只需要......
  • JAVA SERVLET踩坑技术
    今天给大家分享一下踩坑记录。今天准备用Servlet重新开发一个web程序。开始是通过实现Servlet今天实现的。@WebServlet("/demo1")publicclassServletDemo1implementsServlet{publicvoidinit(ServletConfigservletConfig)throwsServletException{System.o......