Java 字符串怎么分割
你有没有遇到过这样的场景:手机通讯录里存的联系人信息是“张三,20岁,程序员”,你想把这串内容拆分成“张三”“20岁”“程序员”这三个独立的信息;或是拿到一份商品清单“苹果,香蕉,橘子,葡萄”,需要把每一种水果单独提取出来。这些日常的小需求,放在代码里,大多要靠“分割字符串”来实现。而Java里处理这个操作,有几个常用的方法,今天就用生活化的例子给大家讲明白。
用 split() 方法:最常用的“拆分工具”
Java里处理字符串分割,第一个想到的肯定是String类的split()方法,它就像一把精准的剪刀,能按照你指定的“标记”,把一长串绳子剪成几段。

举个例子,你在做一个学生成绩查询的小功能,后台返回的成绩是“语文=85,数学=90,英语=92”,这里的逗号就是天然的分割标记。你可以用split(",")把这串字符串拆开,得到一个装着三个科目的数组——就像把一堆水果按逗号分开,每一个元素对应一个科目。
不过这个方法也有“小脾气”,如果你的标记是特殊符号,比如点号“.”或者竖线“|”,直接用split(".")就会出错。因为这些符号在代码里有特殊意义,就像你用剪刀剪绳子时,剪的是“带尖刺的特殊绳子”,直接剪会弄钝剪刀。这时候需要给符号加个“转义标记”,把代码改成split("\\."),这样剪刀就能正常剪断了。
用 StringTokenizer 类:老派但实用的“分拣员”
如果你是刚学Java的老玩家,可能见过StringTokenizer类,它就像一个会自动分拣的小推车,能自动把字符串里的内容按指定的标记分开,不用写太多复杂的代码。
还是用刚才的成绩例子,你可以创建一个StringTokenizer对象,告诉它“用逗号分拣”,然后用nextToken()方法一个一个把科目取出来。这个方法的好处是,如果你不确定字符串里有没有多余的空格,它可以自动跳过,就像小推车分拣时顺便把路上的小石子清走。不过它有个小缺点,就是只能按一种标记分拣,要是你想同时用逗号和空格当标记,它就有点“力不从心”了。
小心踩坑:别让分割变成“乱拆”
分割字符串看起来简单,但有几个常见的小坑,很多新手都踩过。比如刚才说的特殊符号转义,要是忘了加“\\”,就会得到一个空数组,就像你拿剪刀剪绳子,结果剪刀没剪到,绳子还是连在一起的。还有,如果你的字符串开头或结尾有分割标记,比如“,张三,李四,”,用split()方法会把开头的空内容也算成一段,就像你拿剪刀剪绳子,剪到了绳子外面的空地方,多了一段没用的内容。
那怎么避免这些坑呢?要是遇到特殊符号,就记得加转义;要是字符串前后有多余的标记,可以先把多余的标记去掉,再用split()分割,就像剪绳子前先把绳子两端的线头剪掉。
其实不管用哪种方法,核心都是找到你想拆分的“标记”,再选对应的工具。小到处理用户的输入信息,大到解析配置文件,字符串分割都是Java开发里经常用到的小功能,搞懂这些方法,就能轻松应对大部分日常需求。