zoukankan      html  css  js  c++  java
  • 【Java】【26】截取字符串

    前言:

    1,split

    2,substring / StringUtils.substring

    3,StringUtils.substringBefore / StringUtils.substringBeforeLast

    4,StringUtils.substringAfter / StringUtils.substringAfterLast

    5,StringUtils.substringBetween

    正文:

    1,split

    将正则传入split()。返回的是一个字符串数组类型。不过通过这种方式截取会有很大的性能损耗,因为分析正则非常耗时。

    注:

    下标不能超过数组长度(strs.length),不然会报错;

    Java的split方法是把字符串末尾的空字符全部舍弃的,这点要注意;

    分割符为“.”和“|”(转义字符)的话,必须得加"\",不加的话会分割成单个字符;

    如果在一个字符串中有多个分隔符,可以用“|”作为连字符,比如:“a=1 and b=2 or c=3”,把三个都分隔出来,可以用String.split("and|or");

    //按逗号分割字符串为数组
    String str = "a,b,c";
    String[] strs = str.split(",");
    System.out.println(strs[0]);
    //得到a

    2,substring / StringUtils.substring

    str.substring(2, 4) :索引值从0开始,该式子代表从索引2截取到索引4(不包含索引4,实际截取的是索引2和3)

    str.substring(2) :从索引2截取到末尾(包含末尾值)

    str.substring(-2) :从右往左开始数

    注:截取范围超出字符串位数时会报错,所以要用str.length()先获取一下字符长度

    String str = "abcdefg";
    System.out.println(str.substring(2, 4));
    //得到cd

    StringUtils.substring(str, 2, 4):同上

    3,StringUtils.substringBefore / StringUtils.substringBeforeLast

    StringUtils.substringBefore(str,  char) :获取第一个指定字符前面的字符(指定字符可以是一个或多个字符)

    String result = StringUtils.substringBefore("123e45ee6", "e"); 
    System.out.println(result);
    //得到123

    StringUtils.substringBeforeLast(str,  char) :获取最后一个指定字符前面的字符

    String result = StringUtils.substringBeforeLast("123e45ee6", "e"); 
    System.out.println(result);
    //得到123e45e

    4,StringUtils.substringAfter / StringUtils.substringAfterLast

    StringUtils.substringBefore(str,  char) :获取第一个指定字符后面的字符

    String result = StringUtils.substringAfter("123e45ee6", "e"); 
    System.out.println(result);
    //得到45ee6

    StringUtils.substringAfterLast(str,  char) :获取最后一个指定字符后面的字符

    String result = StringUtils.substringAfter("123e45ee6", "e"); 
    System.out.println(result);
    //得到6

    5,StringUtils.substringBetween

     StringUtils.substringBetween(str,char1, char2) : 获取char1和char2中间的字符

    String result = StringUtils.substringAfter("123e45ee6", "12", "e"); 
    System.out.println(result);
    //得到3

    参考博客:

    1,java 字符串截取的几种方式 - 奋斗的小火车 - CSDN博客
    https://blog.csdn.net/qq_27603235/article/details/51604584

    2,StringUtils工具类常用方法汇总2(截取、去除空白、包含、查询索引) - |一只想飞的猪| - 博客园
    https://www.cnblogs.com/guiblog/p/7986410.html

    3,java中split的坑,用的时候一定要小心 - 孙琛斌的专栏 - CSDN博客
    https://blog.csdn.net/sun5769675/article/details/50204591

  • 相关阅读:
    WebAPi返回类型到底应该是什么才合适,这是个问题?
    NuGet程序包安装SQLite后完全抽离出SQLite之入门介绍及注意事项,你真的懂了吗?
    完全抽离WebAPi之特殊需求返回HTML、Css、JS、Image
    模板引擎Nvelocity实例
    C#由变量捕获引起对闭包的思考
    AngularJS之指令中controller与link(十二)
    AngularJS之ng-class(十一)
    AngularJS之WebAPi上传(十)
    AngularJS之代码风格36条建议【一】(九)
    两个List合并去重
  • 原文地址:https://www.cnblogs.com/huashengweilong/p/10961707.html
Copyright © 2011-2022 走看看