java 字符串分割的三種方法(總結(jié))
最近在項目中遇到一個小問題,一個字符串分割成一個數(shù)組,類似String str=”aaa,bbb,ccc”; 然后以”,”為分割符,將其分割成一個數(shù)組,用什么方法去實現(xiàn)呢?
第一種方法:
可能一下子就會想到使用split()方法,用split()方法實現(xiàn)是最方便的,但是它的效率比較低
第二種方法:
使用效率較高的StringTokenizer類分割字符串,StringTokenizer類是JDK中提供的專門用來處理字符串分割子串的工具類。它的構(gòu)造函數(shù)如下:
public StringTokenizer(String str,String delim)
str是要分割處理的字符串,delim是分割符號,當(dāng)一個StringTokenizer對象生成后,通過它的nextToken()方法便可以得到下一個分割的字符串,再通過hasMoreTokens()方法可以知道是否有更多的子字符串需要處理。這種方法的效率比第一種高。
第三種方法:
使用String的兩個方法—indexOf()和subString(),subString()是采用了時間換取空間技術(shù),因此它的執(zhí)行效率相對會很快,只要處理好內(nèi)存溢出問題,但可大膽使用。而indexOf()函數(shù)是一個執(zhí)行速度非??斓姆椒?,
原型如下:
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 字符串分割的三種方法(總結(jié))就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。
相關(guān)文章
Java多線程導(dǎo)致CPU占用100%解決及線程池正確關(guān)閉方式
1000萬表數(shù)據(jù)導(dǎo)入內(nèi)存數(shù)據(jù)庫,按分頁大小10000查詢,多線程,15條線程跑,最后發(fā)現(xiàn)CPU占用100%卡死,那么如何解決,本文就來介紹一下,感興趣的朋友可以了解一下2021-05-05Spring和Websocket相結(jié)合實現(xiàn)消息的推送
這篇文章主要介紹了Spring和Websocket相結(jié)合實現(xiàn)消息的推送的相關(guān)資料,本文介紹的非常詳細(xì)具有參考借鑒價值,感興趣的朋友一起學(xué)習(xí)吧2016-02-02深入解析Spring Cloud內(nèi)置的Zuul過濾器
這篇文章主要給大家深入的介紹了Spring Cloud內(nèi)置的Zuul過濾器的相關(guān)資料,文中給大家介紹的很詳細(xì),相信對大家具有一定的參考價值,需要的朋友們下面來一起看看吧。2017-02-02SpringCloud Eureka自我保護(hù)機(jī)制原理解析
這篇文章主要介紹了SpringCloud Eureka自我保護(hù)機(jī)制原理解析,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2020-02-02