【Java字符串分割[split()]和截取[substring()]】
程序员文章站
2024-03-15 15:40:59
...
最近写代码时遇到自字符串分割和截取的问题,在此总结一下。
字符串的分割:
一般自字符串的分割常用的方法是java.lang包中的String.split()方法,返回是一个字符串数组。
语法:
public String[] split(String regex, int limit)
参数:
-
regex -- 正则表达式分隔符。
-
limit -- 分割的份数。
比如:需要分割字符串中的每个字符(空格也会被看做字符),split()中可以只放引号,不加如其他参数:
输出:
但是如果需要按照特定的字符来分割字符串,比如:空格,逗号,句号等,可以直接将指定字符当做参数:
此处用空格做例:
输出:
需要注意的是像【.】【|】【+】【*】等都是转义字符,在作为参数时,需要加入“\\”,如:
str.split(".")//错误写法
str.split("\\.")//正确写法
在需要进行多字符分割时,可以采用如下方法:
或者:
输出:
值得注意的是,多字符分割时,如果字符串中存在连续两个或者两个以上指定分割字符,会在那个位置返回空格。
前面介绍的都是比较简单的应用,若果熟悉正则表达式,那么会发现前面的一些分割符是以正则表达式的方式进行的分割,
复杂一些的就是利用正则串来分割
如:
输出:
其他这里不再赘述。
字符串的截取:
substring() 方法返回字符串的子字符串。
语法:
public String substring(int beginIndex) 或 public String substring(int beginIndex, int endIndex)
参数
-
beginIndex -- 起始索引(包括), 索引从 0 开始。
-
endIndex -- 结束索引(不包括)。
先说substring(int beginIndex),输入一个参数beginIndex,它会返回一个从这个索引开始直到原字符串末尾的字符串
如:
输出:
至于substring(int beginIndex, int endIndex),输入两个参数,第一个为开始索引,第二个为结束索引,它会返回两个索引之间的字符串,结束索引所指向字符不包括在返回的字符串内。
例:
输出: