你真的完全理解了String的split方法?之一

 时间:2026-02-13 06:10:06

1、先来看看API:

/**

* @param  regex

*         the delimiting regular expression

*

* @return  the array of strings computed by splitting this string

*          around matches of the given regular expression

*

* @throws  PatternSyntaxException

*          if the regular expression's syntax is invalid

* * @see java.util.regex.Pattern

*

* @since 1.4

* @spec JSR-51

*/

public String[] split(String regex) {

   return split(regex, 0);

}

你真的完全理解了String的split方法?之一

2、细心的同学已经观察到

split方法的第一个参数是regex,是的,就是前面讲过的正则表达式

还可以使用第二个参数limit,即最多返回几个字符串

来一段常见的代码

package chapter4;

/**

* Created by MyWorld on 2016/3/28.

*/

public class StringSplitDemo {

   public static void main(String[] args) {

       String demoStr = "Hello world tang";

       String[] result = demoStr.split(" ");

       for (String s : result) {

           System.out.println(s);

       }

   }

}

你真的完全理解了String的split方法?之一

3、api已经了解了,输出的结果应该是Hello   world   tang

执行下看看结果

Output:

Hello

world

tang

你真的完全理解了String的split方法?之一

4、来猜猜这种场景下的输出是什么

更改下代码

Code:

String demoStr = "v1|v2|v3";

String[] result = demoStr.split("|");

你真的完全理解了String的split方法?之一

5、是v1 v2 v3 ?

好执行下看看结果

Output:

v

1

|

v

2

|

v

3

你真的完全理解了String的split方法?之一

6、是不是很意外,为什么呢?

不理解的tx再想想api里怎么说的,第一个参数是什么样的数据呢?

正则表达式

对了

是正则表达式嘛。正则表达式30分钟入门系列不是已经讲过,“|”是用来表示字符串之间或的关系

上面的例子中,regex是"|",从正常的视角来看,除了“|”什么也没有,大家是不是忘了,\b,就是表示字符前后的界定符

"|"就是表示以界定符来分隔字符串,得到的就是一个一个的元素

如果想得到v1 v2 v3,需要怎么做呢

如果不想让“|”作为正则表达式,就加转义符

改下代码

Code:

String[] result = demoStr.split("\\|");

你真的完全理解了String的split方法?之一

7、执行下,看看结果是否与预期一致

Output:

v1

v2

v3

与预期一致 

OK

你真的完全理解了String的split方法?之一

8、细心的tx有木有受到“|”,这从此正则表达式的启发

如果有多类分隔符的场景

更改代码:

Code:

String demoStr = "v1|v2;v3";

String[] result = demoStr.split("\\||;");

你真的完全理解了String的split方法?之一

9、执行下看看结果,是不是得到预期的v1 v2 v3

Output:

v1

v2

v3

与预期一致

Ok

你真的完全理解了String的split方法?之一

  • 爱可幕ICOM-2720H车载电台使用手册:[1]
  • 电动汽车基本保养与维护知识
  • IIS服务器如何删除证书颁发机构Web注册角色服务
  • 毕亚兹(biaze)ZH99以太网转换器开箱晒物
  • 视频文件通过CDN分发到客户终端的过程
  • 热门搜索
    总手和现手是什么意思 什么是3d打印技术 眼睛无神是什么原因 cute是什么意思英文 社保中断有什么影响 什么是mba 运动会作文400字 什么是双学位 洗车液可以用什么代替 郑重其事是什么意思