大家好,又见面了,我是你们的朋友全栈君
最近在项目中遇到一个小问题,一个字符串分割成一个数组,类似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 字符串分割的三种方法(总结)就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持脚本之家。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/187666.html原文链接:https://javaforall.cn