java字元串處理方法全解
String類:
•String類主要用來處理字元串,它提供了很多字元串的實用處理方法。String類是不可變類,一個String對象所包含的字元串内容永遠不會被改變;
•對照學習StringBuffer類:
• String和StringBuffer他們都可以存儲和操作字元串,即包含多個字元的字元串資料。
• String類是字元串常量,是不可更改的常量。而StringBuffer是字元串變量,它的對象是可以擴充和修改的。
•常用方法:
•Constructor:
•(1) public String()
例:String test=new String();
•(2) public String(String value )
例:String temp=new String("Hello, world.")
• String k=temp;
• String test=new String(k); (注:k是一個 String類的對象)
•(3)String(char[] value)
例::char z[]={'h','e','l','l','o'};
String test=new String(z);
Methods:
(1) length():傳回字元串的字元個數
(2) charAt(int index) :傳回指定索引所指的char值
(3)compareTo(String anotherString):比較兩個字元串的大小
(4) concat(String str):連接配接一個字元串到另一個字元串的後面。
(5) contains(CharSequence s):當且僅當包含一個指定的字元序列時傳回真
(6)contentEquals(CharSequencecs):與指定的字元序列比較,相等傳回true,否則傳回false
(7) equals(Object anObject):判斷兩個字元串是否相等
(8) format(String format, Object... args) :以指定的格式輸出一段字元
(9) indexOf(String str) :傳回第一次出現該字元串的索引
(10) isEmpty():判斷字元串是否為空
(11) replace(char oldChar, charnewChar):替換字元串
(12) substring(intbeginIndex,intendIndex):傳回子字元串
(13) toLowerCase():将此String的所有字元轉換成小寫
(14) toUpperCase():将此String的所有字元轉換成大寫
(15) String toString():傳回字元串本身
String字元串與基本資料的互相轉化
① 字元串類型轉化為基本資料類型:
使用java.lang包中的Byte、Short、Integer、Long、Float、Double調用相應的類方法:
public static byte parseByte(String s);
public static short parseShort(String s);
public static int parseInt(String s);
public static long parseLong(String s);
public static float parseFloat(String s);
public static double parseDouble(String s);
② 進制轉換
使用Long類中的下列類方法可以得到整數的各種進制的字元串表示:
public static String toBinaryString(long i); //二進制
public static String toOctalString(long i); //八進制
public static String toHexString(long i); //十六進制
public static String toString(long i , int p); //p進制(p為任意整數)
③ 數字轉化為字元串
使用String類的下列static方法:
public static String valueOf(byte n);
public static String valueOf(int n);
public static String valueOf(long n);
public static String valueOf(float n);
public static String valueOf(double n);
④ 字元串與字元數組、位元組數組
String類提供了将字元串存放到數組中的方法:
public void getChars(int start, int end, char c[], int offset);
字元串調用方法getChars()将目前字元串中的一部分字元複制到參數c指定的數組中,将字元串從位置start到end-1位置上的字元複制到數組c中,并從數組c的offset處開始存放這些字元串。需要注意的是,必須保證數組c能容納下要被複制的字元。
String類還提供了一個方法:
public char[] toCharArray();
字元串調用該方法可以初始化一個字元數組,該數組的長度與字元串的長度相等,并将字元串對象的全部字元複制到該數組中。
位元組數組:
public byte[] getBytes();
StringBuffer類:
StringBuffer類常用方法簡介
StringBuffer類用于處理可變的字元串,它提供修改字元串的方法。
(1)構造方法:
a. StringBuffer s0=new StringBuffer();配置設定了長16位元組的字元緩沖區
b. StringBuffer s1=new StringBuffer(512);配置設定了512位元組的字元緩沖區
c. StringBuffer s2=new StringBuffer("You are good!");
在字元緩沖區中存放字元串"Happy new year!",另外,後面再留了16位元組的空緩沖區。
(2) 常用方法:
a.字元設定和替換
setCharAt(int index,char ch),将指定的字元ch放到index指出的位置。
charAt(int index) 獲得指定位置的字元
例如:
s="stedent";
s.setCharAt(2,"u"),則s為"student"
b.字元的插入
insert(int offset,char ch),在offset位置插入字元ch。
例如:
StringBuffer s=new StringBuffer("wecome");
s.insert(2,'l'),則s為"welcome"
c.在字元串末尾添加内容(Append方法)
StringBuffer s=newStringBuffer("we");
char d={"l","c","o","m","e"};
s.append(d);則s為"welcome"。
d.轉換為不變字元串:toString()。
e.擷取字元串的長度: length()
StringBuffer s = new StringBuffer("www");
int i=s.length();
f.擷取字元串的容量
s.capacity();
g.重新設定字元串容量的大小:ensureCapacity()
s.ensureCapacity(100);
h.設定字元串緩沖區的大小
s.setlength(10);
如果用小于目前字元串長度的值調用setlength()方法,則新長度後面的字元将丢失。
i.将字元串的子字元串複制給數組
getChars(int start,int end,char chars[],int charsStart)
String s1 = "This is a test";
int start =0;
int end = 10;
char ch1[] = new char[end-start];
s1.getChars(start,end,ch1,0);
System.out.println(ch1);
j.字元串反轉
s.reverse();
k.删除指定字元串着中的字元
delete(int start,int end)
s.delete(0,s.length()); //删除字元串s的全部字元
deleteCharAt(int index)
s.deleteCharAt(4); //删除字元串s索引為4的字元
l.替換字元串
replace(int start,int end,String str)
s.replace(0,1,"qqq");
m.傳回字元串的一部分值
substring(int start) //傳回從start下标開始以後的字元串
substring(int start,int end) //傳回從start到 end-1字元串
StringTokenizer:字元串分隔解析類型
屬于:java.util包。
1、構造函數。
1. StringTokenizer(String str) :構造一個用來解析str的StringTokenizer對象。使用java預設的分隔标記,符是“空格”(若幹個空格被看做一個空格)、“制表符(‘\t’)”、“換行符(‘\n’)”、“回車符(‘\r’)”。
2. StringTokenizer(String str, String delim) :構造一個用來解析str的StringTokenizer對象,參數delimi中的字元的任意排列組合都是分隔标記。
如:StringTokenizer fenxi = new StringTokenizer("We,are;student", ",;");
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類似,以指定的分隔符傳回結果。