zoukankan      html  css  js  c++  java
  • java 字符串截取的方法

    1.split()+正则表达式来进行截取。

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

    String str = "abc,12,3yy98,0";
    String[] strs=str.split(",");
    for(int i=0,len=strs.length;i<len;i++){
      System.out.println(strs[i].toString());
    }

    运行结果:

    abc
    12
    3yy98
    0

    2.通过subString()方法来进行字符串截取。

    subString通过不同的参数来提供不同的截取方式

    2.1只传一个参数

    例如:

    String sb = "bbbdsajjds";
    sb.substring(2);

    将字符串从索引号为2开始截取,一直到字符串末尾。(索引值从0开始);

    2.2传入2个索引值

    String sb = "bbbdsajjds";
    sb.substring(2, 4);

    从索引号2开始到索引好4结束(并且不包含索引4截取在内,也就是说实际截取的是2和3号字符);

    运行结果如下:

    bdsajjds
    bd

    3.通过StringUtils提供的方法

    StringUtils.substringBefore(“dskeabcee”, “e”);
    /结果是:dsk/
    这里是以第一个”e”,为标准。

    StringUtils.substringBeforeLast(“dskeabcee”, “e”)
    结果为:dskeabce

    这里以最后一个“e”为准。

    demo:

    String url2 ="http://192.168.123.83:80/test_tape/771/2017090613/20170906161932538841656.V3?AWSAccessKeyId=1VA98MUQO0Y0URCMO99x&Expires=4100688000&signature=mIspd3R076h%2F74iSHRmH5Q%2F2zGw%3D";
    String filename="771.1001.xml";
    
    String file= StringUtils.substringBeforeLast(filename, ".");
    String url=url2.split("\?")[0].split("\//")[1];
    String key = url.substring(url.indexOf("/", url.indexOf("/") + 1)+1);
    String name = url.substring(url.lastIndexOf("/")+1);
    
    System.out.println("file:"+file);
    System.out.println("url:"+url);
    System.out.println("key:"+key);
    System.out.println("name:"+name);

    运行结果:

    file:771.1001
    url:192.168.123.83:80/test_tape/771/2017090613/20170906161932538841656.V3
    key:771/2017090613/20170906161932538841656.V3
    name:20170906161932538841656.V3

    ========================================================================================== 我希望每一篇文章的背后,都能看到自己对于技术、对于生活的态度。 我相信乔布斯说的,只有那些疯狂到认为自己可以改变世界的人才能真正地改变世界。面对压力,我可以挑灯夜战、不眠不休;面对困难,我愿意迎难而上、永不退缩。 其实我想说的是,我只是一个程序员,这就是我现在纯粹人生的全部。 ==========================================================================================
  • 相关阅读:
    116-如何将java对象转换成json数据?
    082-redis的watch监听起到了什么作用?
    081-linux安装mysql时,为什么要使用mysql用户初始化mysql数据库?
    080-数据库的加密与解密起到了什么作用?
    115-linux安装redis
    114-汉字比较器
    114_LF will be replaced by CRLF 怎么解决?
    113-github如何删除某个文件和文件夹?
    112-git如何向服务器github上传文件
    学习笔记(31)-python访问ElasticSearch
  • 原文地址:https://www.cnblogs.com/weihuang6620/p/7559931.html
Copyright © 2011-2022 走看看