You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Java如何通过两个索引获取子字符串?示例需求及实现疑问

实现索引截取子串的Java方案

嘿,好问题!Java里其实已经有现成的方法能完美满足你的需求,而且比你设想的getStringBetweenIndex更常用——就是String类原生的substring()方法。

直接使用substring()实现

substring(int beginIndex, int endIndex)方法的逻辑正好匹配你的需求:

  • beginIndex:子串的起始索引(包含该位置的字符)
  • endIndex:子串的结束索引(不包含该位置的字符)

你的目标是从Hello, world!中获取Hello,对应的起始索引是0,结束索引是5(因为Hello占了0-4共5个字符),直接调用这个方法就能得到想要的结果。

修改后的代码如下:

package com.example;

public class Example {
    public static void main(String[] args) {
        String hello = "Hello, world!";
        // 截取索引0(包含)到5(不包含)的子串
        System.out.println(hello.substring(0, 5));
    }
}

运行这段代码,输出正好是Hello,完全符合你的预期。

自定义你想要的方法名(可选)

如果你特别偏好getStringBetweenIndex这个更直观的方法名,也可以自己封装一个静态工具方法:

package com.example;

public class StringUtils {
    // 自定义方法,本质上调用substring
    public static String getStringBetweenIndex(String str, int start, int end) {
        // 可以在这里添加参数合法性校验,比如start不能小于0,end不能大于str.length()等
        return str.substring(start, end);
    }
}

然后在主类中调用:

package com.example;

public class Example {
    public static void main(String[] args) {
        String hello = "Hello, world!";
        System.out.println(StringUtils.getStringBetweenIndex(hello, 0, 5));
    }
}

这样就能实现你设想的调用方式啦。

需要注意的是,Java标准库中并没有getStringBetweenIndex这个内置方法,所以直接像你写的那样调用会编译报错,要么用原生的substring,要么自己封装工具方法~

内容的提问来源于stack exchange,提问作者Muhammet DÜLGER

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.11 08:14:00