天天看點

java字元串處理方法全解

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類似,以指定的分隔符傳回結果。