zoukankan      html  css  js  c++  java
  • {转}Java 字符串分割三种方法

    http://www.chenwg.com/java/java-%E5%AD%97%E7%AC%A6%E4%B8%B2%E5%88%86%E5%89%B2%E4%B8%89%E7%A7%8D%E6%96%B9%E6%B3%95.html

    最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似String str=”aaa,bbb,ccc”; 然后以”,”为分割符,将其分割成一个数组,用什么方法去实现呢?

    第一种方法:

    可能一下子就会想到使用split()方法,用split()方法实现是最方便的,但是它的效率比较低

    第二种方法:

    使用效率较高的StringTokenizer类分割字符串,StringTokenizer类是JDK中提供的专门用来处理字符串分割子串的工具类。它的构造函数如下:

    public StringTokenizer(String str,String delim)

    str是要分割处理的字符串,delim是分割符号,当一个StringTokenizer对象生成后,通过它的nextToken()方法便可以得到下一个分割的字符串,再通过hasMoreTokens()方法可以知道是否有更多的子字符串需要处理。这种方法的效率比第一种高。

    第三种方法:

    使用String的两个方法—indexOf()和subString(),subString()是采用了时间换取空间技术,因此它的执行效率相对会很快,只要处理好内存溢出问题,但可大胆使用。而indexOf()函数是一个执行速度非常快的方法,

    原型如下:

    public int indexOf(int ch)   它返回指定字符在String对象的位置。如下:

    举例:
    "ab&&2"以&分割成"ab" "2"


    String tmp = "ab&&2";
    String splitStr = null;
    int j = tmp.indexOf("&");        // 找分隔符的位置
    splitStr = tmp.substring(0, j);    // 找到分隔符,截取子字符串
    tmp = tmp.substring(j + 2);      // 剩下需要处理的字符串
    System.out.println(splitStr);
    System.out.println(tmp);

    ab
    2

  • 相关阅读:
    Jenkins自动化多项目编译和Tomcat部署懒人终极大招
    python 装饰器总结
    selenium3之-测试环境搭建
    centos7.4 安装ftp服务器并配置匿名用户权限
    selenium3之-运行原理
    flutter 打包apk
    Fluwx:微信SDK在Flutter上的实现
    flutter 购物车功能
    flutter sharesdk实现跨平台分享
    Web API接口设计经验总结
  • 原文地址:https://www.cnblogs.com/wzk1992/p/5981621.html
Copyright © 2011-2022 走看看