欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

java 字符串分割的三种方法(总结)

程序员文章站 2024-03-11 23:20:55
最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似string str=”aaa,bbb,ccc”; 然后以”,”为分割符,将其分割成一个数组,用什么方法去实现呢?...

最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似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

以上这篇java 字符串分割的三种方法(总结)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持。