Java将一段逗号分割的字符串转换成一个数组(亲测)
String 類:
String 類代表字符串。Java 程序中的所有字符串字面值都作為此類的實(shí)例實(shí)現(xiàn)。字符串是常量,它們的值在創(chuàng)建之后不能更改。字符串緩沖區(qū)支持可變的字符串。因?yàn)?String 對(duì)象是不可變的,所以
可以共享。
String 類包括的方法可用于檢查序列的單個(gè)字符、比較字符串、搜索字符串、提取子字符串、創(chuàng)建字符串副本并將所有字符全部轉(zhuǎn)換為大寫或小寫。Java 語言提供對(duì)字符串串聯(lián)符號(hào)("+")以及將其他
對(duì)象轉(zhuǎn)換為字符串的特殊支持。字符串串聯(lián)是通過 StringBuilder(或 StringBuffer)類及其 append 方法實(shí)現(xiàn)的。字符串轉(zhuǎn)換是通過 toString 方法實(shí)現(xiàn)的,該方法由 Object 類定義,并可被 Java
中的所有類繼承。
String 類的split方法可以根據(jù)給定正則表達(dá)式的匹配拆分字符串,故而可以把字符串分離成單個(gè)字符的形式。
StringTokenizer 類:
string tokenizer 類允許應(yīng)用程序?qū)⒆址纸鉃闃?biāo)記。tokenization 方法比 StreamTokenizer 類所使用的方法更簡單。StringTokenizer 方法不區(qū)分標(biāo)識(shí)符、數(shù)和帶引號(hào)的字符串,它們也不識(shí)別并
跳過注釋。可以在創(chuàng)建時(shí)指定,也可以根據(jù)每個(gè)標(biāo)記來指定分隔符(分隔標(biāo)記的字符)集。?
StringTokenizer 的實(shí)例有兩種行為方式,這取決于它在創(chuàng)建時(shí)使用的 returnDelims 標(biāo)志的值是 true 還是 false:?
如果標(biāo)志為 false,則分隔符字符用來分隔標(biāo)記。標(biāo)記是連續(xù)字符(不是分隔符)的最大序列。?
如果標(biāo)志為 true,則認(rèn)為那些分隔符字符本身即為標(biāo)記。因此標(biāo)記要么是一個(gè)分隔符字符,要么是那些連續(xù)字符(不是分隔符)的最大序列。?
StringTokenizer 對(duì)象在內(nèi)部維護(hù)字符串中要被標(biāo)記的當(dāng)前位置。某些操作將此當(dāng)前位置移至已處理的字符后。通過截取字符串的一個(gè)子串來返回標(biāo)記,該字符串用于創(chuàng)建 StringTokenizer 對(duì)象。
//如何把一段逗號(hào)分割的字符串轉(zhuǎn)換成一個(gè)數(shù)組
package com.test.string;//構(gòu)建自己的包
import java.util.StringTokenizer;//導(dǎo)入StringTokenizer 類,后面要用到此類來創(chuàng)建對(duì)象和此類的方法。
public class StrToArray{
? ? public static void main(String[] args) {
?String str="a,b,c,d,e,f,g,h,i,j,k,l,m,n,o,p,q,r,s,t,u,v,w,x,y,z";
?String[] strArray=null;
?System.out.println("調(diào)用convertStrToArray結(jié)果:");
?strArray = convertStrToArray(str);
?printArray(strArray);
??
?System.out.println("調(diào)用convertStrToArray2結(jié)果:");
? ? ? ? strArray = convertStrToArray2(str);
? ? ? ? printArray(strArray);
? ? }
? ? //使用String的split 方法 ??
? ? public static String[] convertStrToArray(String str){ ??
? ? ? ? String[] strArray = null; ??
? ? ? ? strArray = str.split(","); //拆分字符為"," ,然后把結(jié)果交給數(shù)組strArray?
? ? ? ? return strArray;
? ? } ??
? ? ? ?
? ? //使用StringTokenizer實(shí)現(xiàn) ??
? ? //api說明:StringTokenizer 是出于兼容性的原因而被保留的遺留類 ??
? ? //(雖然在新代碼中并不鼓勵(lì)使用它)。建議所有尋求此功能的人使用 ??
? ? //String 的 split 方法或 java.util.regex 包 ??
? ? public static String[] convertStrToArray2(String str){
? ? ? ? StringTokenizer st = new StringTokenizer(str,",");//把","作為分割標(biāo)志,然后把分割好的字符賦予StringTokenizer對(duì)象。
? ? ? ? String[] strArray = new String[st.countTokens()];//通過StringTokenizer 類的countTokens方法計(jì)算在生成異常之前可以調(diào)用此 tokenizer 的 nextToken 方法的次數(shù)。
? ? ? ? int i=0;
? ? ? ? while(st.hasMoreTokens()){//看看此 tokenizer 的字符串中是否還有更多的可用標(biāo)記。
? ? ? ? ? ? strArray[i++] = st.nextToken();//返回此 string tokenizer 的下一個(gè)標(biāo)記。
? ? ? ? }
? ? ? ? return strArray;
? ? }
? ? //輸出數(shù)組
? ? public static void printArray(String[] array){ ??
? ? ?for(int i=0;i<array.length;i++){
? ?System.out.print(array[i]);
? ?if(i==array.length-1){
? ? System.out.print("\n");
? ?}else{
? ? System.out.print(",");
? ?}
? }
? ? }
}
————————————————
版權(quán)聲明:本文為CSDN博主「蒼ing」的原創(chuàng)文章,遵循CC 4.0 BY-SA版權(quán)協(xié)議,轉(zhuǎn)載請(qǐng)附上原文出處鏈接及本聲明。
原文鏈接:https://blog.csdn.net/caokang1314/article/details/8643339
總結(jié)
以上是生活随笔為你收集整理的Java将一段逗号分割的字符串转换成一个数组(亲测)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 职业能力(说一说职业能力的简介)
- 下一篇: 古诗词朗诵背景纯音乐有哪些(古诗词朗诵背