Java 字符串怎么截取

在日常写代码时,处理文字是最常见的需求之一——比如从用户输入的手机号里提取后四位,或是把一篇文章的前200字做成摘要,这些操作都离不开“截取字符串”。很多刚学编程的朋友第一次接触Java时,常会觉得这类操作很“绕”,其实只要搞懂几个简单的规则,就能轻松上手。

先搞懂:Java字符串的“坐标”不是从1开始

我们要截取一段文字,首先得知道文字的位置怎么数。就像我们数一排排队的人,从左到右的位置,Java里是从0开始算的——比如字符串"Java"的四个字符,位置分别是0(J)、1(a)、2(v)、3(a)。这个小细节很重要,要是用1开始的思路去数,很容易就会截取错。

Java 字符串怎么截取

举个生活化的例子:把“我爱吃苹果”当成字符串,字的位置就是0(我)、1(爱)、2(吃)、3(苹)、4(果)。要是想取“爱吃”两个字,对应位置1和2,是不是就清楚多了?

最常用的截取方法:substring()

Java里截取字符串,绝大多数时候用substring()这个方法,它有两种用法,对应两种需求。

第一种是substring(起始位置)——从你指定的位置开始,一直取到字符串的末尾。比如我们有个字符串是"今天天气真好",要是想从第3个位置(对应“天”字)开始取,代码就是"今天天气真好".substring(2),结果就是"天气真好"。这个用法适合“从固定位置开始,一直取到最后”的场景,比如提取用户手机号的后四位:假设手机号是"13812345678",位置从0数,后四位对应的起始位置是7,用substring(7)就能直接拿到"5678",比自己手动拆字符串省事太多。

第二种是substring(起始位置, 结束位置)——这个方法是取“从起始位置开始,到结束位置的前一位为止”,注意是“前一位”,不是包含结束位置。还是用刚才的“今天天气真好”举例,要是想取中间的“天气”,起始位置是2,结束位置是4,代码是"今天天气真好".substring(2,4),结果就是"天气"(位置2是“天”,位置3是“气”,到位置4前停,刚好取两个字)。要是搞错结束位置,比如写成substring(2,5),就会多取到“真”字,变成"天气真",这也是新手容易踩的坑。

再举个实用的场景:做短视频简介时,要求最多显示15个汉字,超出的用“…”代替。假设简介字符串是"这是一条很长很长的短视频简介,内容丰富多样",那我们可以先判断字符串长度:如果长度大于15,就用substring(0,15)取前15个,再拼上“…”,要是长度不超过15就直接显示,这样就能自动适配,不会出现简介截断一半的情况。

容易忽略的小细节

还有两个需要注意的小地方,能帮你避免很多小bug。第一是如果指定的起始位置大于等于字符串的长度,比如字符串长度是5,你用substring(5),Java会直接报错,所以最好写代码前加个判断,确认截取的位置不会超出范围;第二是如果起始位置比结束位置大,也会报错,所以得先搞清楚要取的范围,别把前后搞反。

其实不管是取手机号后四位,还是做文章摘要,截取字符串的核心逻辑都是“找对位置”——记住Java的位置从0开始,搞懂两种substring的用法,再结合实际场景调整,就能轻松搞定绝大多数截取需求。

上一篇 JavaScript 如何捕获异步错误