【JAVA】StringTokenizer 迭代方式對字符串進行分割

StringTokenizer是一個用來分隔String的應用類,相當于VB的split函數。
1.構造函數
public StringTokenizer(String str)
public StringTokenizer(String str, String delim)
public StringTokenizer(String str, String delim, boolean returnDelims)
第一個參數就是要分隔的String,第二個是分隔字符集合,第三個參數表示分隔符號是否作為標記返回,如果不指定分隔字符,默認的是:”\t\n\r\f”
2.核心方法
public boolean hasMoreTokens()
public String nextToken()
public String nextToken(String delim)
public int countTokens()
其實就是三個方法,返回分隔字符塊的時候也可以指定分割符,而且以后都是采用最后一次指定的分隔符號。
3.多余方法
public boolean hasMoreElements()
public boolean hasMoreElements()
這個類實現了Enumeration接口,所以多了這么兩個方法,其實根本沒有必要實現這個接口
它的名字就叫StringTokenizer,返回一個Object就沒有什么意思了。

屬于:java.util包。

1、構造函數。

1. StringTokenizer(String str):構造一個用來解析str的StringTokenizer對象。java默認的分隔符是“空格”、“制表符(‘\t’)”、“換行符(‘\n’)”、“回車符(‘\r’)”。
2. StringTokenizer(String str, String delim):構造一個用來解析str的StringTokenizer對象,并提供一個指定的分隔符。
3. StringTokenizer(String str, String delim, boolean returnDelims):構造一個用來解析str的StringTokenizer對象,并提供一個指定的分隔符,同時,指定是否返回分隔符。


2、方法。
說明:
1. 所有方法均為public;
2. 書寫格式:[修飾符] <返回類型><方法名([參數列表])>
如:
static int parseInt(String s)表示:此方法(parseInt)為類方法(static),返回類型為(int),方法所需參數為String類型。

1. int countTokens():返回nextToken方法被調用的次數。如果采用構造函數1和2,返回的就是分隔符數量(例2)。
2. boolean hasMoreTokens() :返回是否還有分隔符。
3. boolean hasMoreElements() :結果同2。
4. String nextToken():返回從當前位置到下一個分隔符的字符串。
5. Object nextElement() :結果同4。
6. String nextToken(String delim):與4類似,以指定的分隔符返回結果。


例子:
代碼:
String s = new String("The Java platform is the ideal platform for network computing");
StringTokenizer st = new StringTokenizer(s);
System.out.println( "Token Total: " + st.countTokens() );
while( st.hasMoreElements() ){
System.out.println( st.nextToken() );
           }
結果為:
Token Total: 10
The
Java
platform
is
the
ideal
platform
for
network
computing

例2:
代碼:
String s = new String("The=Java=platform=is=the=ideal=platform=for=network=computing");
StringTokenizer st = new StringTokenizer(s,"=",true);
System.out.println( "Token Total: " + st.countTokens() );
while( st.hasMoreElements() ){
System.out.println( st.nextToken() );
}
結果為:
Token Total: 19
The
=
Java
=
platform
=
is
=
the
=
ideal
=
platform
=
for
=
network
=
computing

?

?

參考資料:

百科:http://baike.baidu.com/link?url=BPSS22WVnyfecJxxLAdVldmsioNfxIVdFHRJwZux-f5791zZl9pGO2eiHpi_cfmVrZy-phxPFes3CGRSme6RD_

使用方法:http://blog.csdn.net/riyunzhu/article/details/7989145

與Split性能比較:http://my.oschina.net/jasonli0102/blog/272061

?

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/457980.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/457980.shtml
英文地址,請注明出處:http://en.pswp.cn/news/457980.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

python數組定義_python定義數組

廣告關閉 騰訊云11.11云上盛惠 &#xff0c;精選熱門產品助力上云&#xff0c;云服務器首年88元起&#xff0c;買的越多返的越多&#xff0c;最高返5000元&#xff01; 一、一維數組 1. 直接定義matrix2. 間接定義matrixprint(matrix)輸出&#xff1a;3. 數組乘法matrix*5print…

Android-語言設置流程分析

Android手機語言切換行為&#xff0c;是通過設置-語言和輸入法-語言來改變手機的語言&#xff0c;其實這個功能很少被用戶使用。 以Android5.1工程源碼為基礎,從設置app入手來分析和學習語言切換的過程:一、語言設置界面&#xff1a;首先在設置app中找到語言設置這個Preference…

charles 安裝 ssl_最全面的解決Charles手機抓包的證書問題(步驟非常詳細)

源自公眾號文章: 徹底解決Charles手機抓包的證書問題簡介: Charles 抓包是日常開發當中經常會用到的技術, 在 Android 6 之前, 手機系統既信任系統內置的證書, 也信任用戶自己安裝的證書, 但是在 Android 7 之后, 卻發生了變化, 手機系統只信任系統內置的根證書. 當然了, 這是為…

oracle報錯:ORA-00054: 資源正忙,要求指定 NOWAIT

ORA-00054: 資源正忙, 但指定以 NOWAIT 方式獲取資源&#xff1a; --首先得到被鎖對象的session_idselect session_id from v$locked_object; --通過上面得到的session_id去取得v$session的sid和serial#&#xff0c;然后對該進程進行終止。--SELECT sid, serial#, username, o…

ARM中ROM,RAM,FLASH區別

RAM&#xff08;Random Access Memory&#xff09;的全名為隨機存取記憶體&#xff0c;它相當于PC機上的移動存儲&#xff0c;用來存儲和保存數據的。它在任何時候都可以讀寫&#xff0c;RAM通常是作為操作系統或其他正在運行程序的臨時存儲介質&#xff08;可稱作系統內存&…

excel 2007 vba與宏完全剖析_Excel宏VBA小技巧系列 | 分段加合

寫在前面的話 知識產權算是一個盛產數據的行業。專利啊商標啊著作啊&#xff0c;都有著錄項目。我們常說的專利分析、產業導航、企業導航、產業預警、競爭情報、技術綜述、知識產權評議等等&#xff0c;常規操作之一就要先處理著錄項目數據&#xff0c;然后再進行不同角度的分…

SecureCRT:保存輸出日志的方法

處理地址&#xff1a; http://blog.sina.com.cn/s/blog_64c1dd210101gzgz.html 或者&#xff1a; http://renchen.blog.51cto.com/4531967/1195862 重點在與設定文檔的文件名稱&#xff0c;里面有說明。 http://renchen.blog.51cto.com/4531967/1195862轉載于:https://www.cnbl…

redhat虛擬機安裝

做過好多使用VMware workstation虛擬機搭建的系統&#xff0c;這是我第一次使用Virtual Box&#xff0c;感覺跟Vmware差不多&#xff0c;我的本子的系統是win7 64位。 下面演示安裝的是在VirtualBox里安裝rhel 6.4 linux 64位系統。 一、VirtualBOX 版本。 二、虛擬機的配置。…

mysql 查看表v空間自增漲_MySQL InnoDB表空間加密

從 MySQL5.7.11開始&#xff0c;MySQL對InnoDB支持存儲在單獨表空間中的表的數據加密 。此功能為物理表空間數據文件提供靜態加密。該加密是在引擎內部數據頁級別的加密手段&#xff0c;在數據頁寫入文件系統時加密&#xff0c;加密用的是AES算法&#xff0c;而其解密是在從文件…

arm之mmu原理

實驗目的&#xff1a;啟用MMU&#xff0c;映射SDRAM的地址空間&#xff0c;操作虛擬地址實現“點燈大法”&#xff0c;借此掌握MMU的使用。實驗環境及說明&#xff1a;恒頤S3C2410開發板H2410。H2410核心板擴展有64MB的K4S561632 SDRAM(4M*16bit*4BANK)&#xff0c;地址范圍是0…

osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)的理解

osal_start_timerEx(Lock_TaskID,SBP_START_DEVICE_EVT,SBP_PERIODIC_EVT_PERIOD)與osal_set_event(Music_TaskID,event)的區別是osal_start_timerEx周期性的一直推送事件周期時間由SBP_PERIODIC_EVT_PERIOD決定&#xff0c;而osal_set_event是只推送一次。osal_start_timerEx開…

ideaspringboot項目上傳服務器_PHP中使用 TUS 協議來實現可恢復文件上傳

曾經嘗試過用PHP上傳大文件嗎&#xff1f;想知道您是否可以從上次中斷的地方繼續上傳&#xff0c;而不會在遇到任何中斷的情況下再次重新上傳整個數據&#xff1f;如果您覺得這個場景很熟悉&#xff0c;請接著往下閱讀。文件上傳是我們幾乎所有現代Web項目中的一項很常見的任務…

無密碼登陸

server A /B以root賬戶在A上無密碼ssh到B方式一ON A:ssh-keygen -t dsa -P -f ~/.ssh/id_dsa cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys chmod 644 ~/.ssh/authorized_keys service sshd restart ON B:ssh-keygen -t dsa -P -f ~/.ssh/id_dsa cat ~/.ssh/id_d…

嵌入式常見筆試題總結

預處理器&#xff08;Preprocessor&#xff09;1. 用預處理指令#define 聲明一個常數&#xff0c;用以表明1年中有多少秒&#xff08;忽略閏年問題&#xff09; #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL 我在這想看到幾件事情&#xff1a; 1). #define 語法的基本知識…

【轉】php利用mkdir創建多級目錄

先介紹一下 mkdir() 這個函數&#xff1a; mkdir($path,0777,true); 第一個參數&#xff1a;必須&#xff0c;代表要創建的多級目錄的路徑&#xff1b; 第二個參數&#xff1a;設定目錄的權限&#xff0c;默認是 0777&#xff0c;意味著最大可能的訪問權&#xff1b; 第三個參數…

java使用xml存儲數據_用存儲過程和 JAVA 寫報表數據源有什么弊端?

用存儲過程和 JAVA 寫報表數據源有什么弊端&#xff1f;跟著小編一起來一看一下吧&#xff01;我們在報表開發中經常會使用存儲過程準備數據&#xff0c;存儲過程支持分步計算&#xff0c;可以實現非常復雜的計算邏輯&#xff0c;為報表開發帶來便利。所以&#xff0c;報表開發…

GIT文件的三種狀態

對于任何一個文件&#xff0c;在 Git 內都只有三種狀態&#xff1a;已提交&#xff08;committed&#xff09;&#xff0c;已修改&#xff08;modified&#xff09;和已暫存&#xff08;staged&#xff09;。已提交表示該文件已經被安全地保存在本地數據庫 中了&#xff1b;已修…

嵌入式常見筆試題總結(2)

預處理器&#xff08;Preprocessor&#xff09;   1. 用預處理指令#define 聲明一個常數&#xff0c;用以表明1年中有多少秒&#xff08;忽略閏年問題&#xff09;   #define SECONDS_PER_YEAR (60 * 60 * 24 * 365)UL   我在這想看到幾件事情&#xff1a;   1). #…

MAC OS上JAVA1.6 升級1.7,以及?maven3.2.1配置

一、我的MAC系統 預裝的Jdk是1.6&#xff0c;由于需要使用eclipse MARs 2版本&#xff0c;故需要升級到1.7 二、下載JAVA jdk http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 不知道為什么直接下非常慢&#xff0c;后來用的迅雷就超級快…

sql server 創建唯一性非聚集索引語句_數據庫專題—索引原理

深入淺出數據庫索引原理參見:https://www.cnblogs.com/aspwebchh/p/6652855.html1.為什么給表加上主鍵&#xff1f;1.平時創建表的時候&#xff0c;都會給表加上主鍵。如果沒有主鍵的表&#xff0c;數據會一行行的排列在磁盤上&#xff0c;查找一個數據需要一條條的進行對比。而…