java字符串截取

本文详细介绍了Java中substring方法及其使用,包括从指定索引截取子字符串的两种方式。同时,讲解了Apache Commons Lang中的StringUtils工具类,如substringBefore、substringAfter和substringBetween等方法,用于在字符串中截取特定位置或根据分隔符进行截取的操作。通过实例展示了这些方法的用法,帮助读者理解并掌握字符串处理技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

/**
 * import org.apache.commons.lang.StringUtils;包
 * @param args
 */
public static void main(String[] args) {

    String code = "370102";
    
    // public String substring(int beginIndex)   从指定索引处的字符开始(索引从0开始),直到此字符串末尾
    // public String substring(int beginIndex, int endIndex)  从指定索引处的字符开始(索引从0开始),直到索引 (endIndex - 1) 处的字符。因此,该子字符串的长度为 endIndex-beginIndex。
    System.out.println("code.substring(6) :" + code.substring(3));  // 结果 102
    System.out.println("code.substring(0,3) :" + code.substring(2, 5)); // 结果 010
    
    // public static String substring(String str, int start)    str要截取的字符串,从第 start 开始截取(包含)
    // public static String substring(String str, int start, int end)  str要截取的字符串,从第 start 开始截取(包含),直到 end-1 (不包含end)
    System.out.println("str要截取的字符串,从第 start 开始截取(包含) :" + StringUtils.substring("济南市开发区孙村街道", 3));    // 开发区孙村街道
    System.out.println("str要截取的字符串,从第 start 开始截取(包含),直到 end-1 (不包含end): " + StringUtils.substring("济南市开发区孙村街道", 3, 6));  // 开发区
    
    // 截取某个字符串之前的字符
    // public static String substringBefore(String str, String separator)   截取某个字符串之前的字符(以第一个出现的为准)
    // public static String substringBeforeLast(String str, String separator)  截取某个字符串之前的字符(以最后出现的为准)
    System.out.println("截取某个字符串之前的字符(以第一个出现的为准):" + StringUtils.substringBefore("山西省临汾市霍州市北环路附近", "市")); // 山西省临汾
    System.out.println("截取某个字符串之前的字符(以最后出现的为准) = " + StringUtils.substringBeforeLast("山西省临汾市霍州市北环路附近", "市")); // 山西省临汾市霍州
    
    // 截取某个字符串之后的字符
    // public static String substringAfter(String str, String separator)   截取某个字符串之后的字符(以第一个出现的为准)
    // public static String substringAfterLast(String str, String separator)  截取某个字符串之后的字符(以第最后出现的为准)
    System.out.println("截取某个字符串之后的字符(以第一个出现的为准): " + StringUtils.substringAfter("山西省临汾市霍州市北环路附近", "市")); // 霍州市北环路附近
    System.out.println("截取某个字符串之后的字符(以第最后出现的为准): " + StringUtils.substringAfterLast("山西省临汾市霍州市北环路附近", "市")); // 北环路附近
    
    //截取两个字符串之间隔的字符
    // public static String substringBetween(String str, String tag)  str要截取的字符串,tag之间的 (临汾市霍州市,tag为市,则截取到的是 霍州)
    // public static String substringBetween(String str, String open, String close)  str要截取的字符串, open开始位置(不包含),close结束位置(不包含),返回字符串
    // public static String[] substringsBetween(String str, String open, String close)  str要截取的字符串,open开始位置(不包含),close结束位置(不包含),返回数组
    System.out.println("截取两个字符串之间隔的字符:" + StringUtils.substringBetween("山西省临汾市霍州市北环路附近", "市")); // 霍州
    System.out.println("截取两个字符串之间隔的字符:" + StringUtils.substringBetween("山西省临汾市霍州市北环路附近", "省", "市"));  // 临汾
    System.out.println("截取两个字符串之间隔的字符: " + StringUtils.substringsBetween("hello world", "l", "r")); // [lo wo]
}
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值