Java常用字符串方法小結(jié)
更新時(shí)間:2017年04月13日 09:12:44 作者:并不奇怪的菜蜀黍
字符串變量是Java與C語言的一大不同之處。Java之中的 String 類和 Stringbuffer 類提供了大量的對(duì)字符串操作的方法。String 類適合處理較小的字符串,而Stringbuffer類適合處理大量字符串
下面是對(duì)字符串操作的代碼小總結(jié)。大部分是String類的 操作方法,需要的朋友可以參考下
public class StudyString {
public static void main(String[] ergs){
//字符串的聲明與賦值
String name = "蔡宇飛";
String hisname = new String ("小明");
System.out.println(name+"和"+hisname+"是好朋友");
//字符串基本操作
//獲取字符串的長度
//字符串名.length() 返回字符的個(gè)數(shù)
String hello = "hello world!";
int length = hello.length();
System.out.println(hello+"的長度是"+length);
//字符串連接
//String類提供的concat()方法
//字符串1.concat(字符串2) 返回值是一個(gè)字符串
String twoname = name.concat(hisname);
System.out.println(twoname);
//字符串比較
//String提供的equals()方法,返回值為boolean類型。兩個(gè)字符串中每個(gè)字符完全一致時(shí)才為turn.否則為false
//字符串1.equals(字符串2)
String str1 = "fuck";
String str2 = "FUCK";
if (str1.equals(str2))
System.out.println("相同");
else
System.out.println("不同");
//String還提供了equalsIgnoreCase()方法,這個(gè)與上面的區(qū)別是不區(qū)分字母的大小寫。返回值同樣為boolean類型
//字符串1.equalsIgnoreCase(字符串2)
if(str1.equalsIgnoreCase(str2))
System.out.println("相同");
else
System.out.println("不同");
//字符串截取
//從字符串中截取一部分作為新的字符串,String類提供的substring來實(shí)現(xiàn)
//字符串.substring (開始位置); 或者 字符串.substring (開始位置,結(jié)束位置);
//第一種是從開始位置直到結(jié)束,第二種從開始位置到結(jié)束位置.
String my ="my name is caiyufei,I love Java and Python.";
String love =my.substring(20);
String myname = my.substring(11, 19);
System.out.println(love);
System.out.println(myname);
//字符串查找
//在一個(gè)字符串中查找另一個(gè)字符串,String類提供了indexOf方法來實(shí)現(xiàn)
//字符串1.indexOf(字符串2) 或 字符串1.indexOf(字符串2,開始位置)
int lovenum = my.indexOf(love);
int mynamenum = my.indexOf(myname);
System.out.println(lovenum);
System.out.println(mynamenum);
//字符串替換
//用一個(gè)新字符去替換字符串中指定的所有字符 String類提供了replace方法實(shí)現(xiàn)這種替換
//字符串1.replance(被替換字符,替換字符)
char I_ = 'I';
char m_ = 'M';
System.out.println(love.replace(I_, m_)); //M love Java and Python.
//字符串與字符數(shù)組
//將字符數(shù)組作為構(gòu)造函數(shù)的參數(shù)直接轉(zhuǎn)換成字符串
char [] helloArray = {'h','e','l','l','o'};
String helloString = new String (helloArray);
System.out.println(helloString);
//將字符串轉(zhuǎn)為字符數(shù)組
//toCharArray()方法
char [] Array = helloString.toCharArray();
for (int i = 0;i<Array.length;i++)
System.out.println(Array[i]);
//其他方法
//字符串中英文字母轉(zhuǎn)換為小寫
String eng = "I Love English";
String eng_1 = eng.toLowerCase();
System.out.println(eng_1);
//字符串中英文字母轉(zhuǎn)為大寫
String eng_2 = eng.toUpperCase();
System.out.println(eng_2);
//返回指定索引處的字符
char en = eng.charAt(5);
System.out.println(en);//e
//比較字符串,返回int
int num_1 = eng.compareTo(eng_1);
System.out.println(num_1);
//返回第一個(gè)找到的子字符串的位置,若無則返回-1
String loves = "Love";
int lovenum1 = eng.indexOf(loves);
System.out.println(lovenum1); //2
//去除字符串前后空格
String world = " I love my world ";
System.out.println(world);
world = world.trim();
System.out.println(world);
//判斷suffix是否為字符串的開始
String suffix = "world";
if (world.startsWith(suffix))
System.out.println("world是字符串world的開始");
else
System.out.println("world不是字符串world的開始");
//判斷suffix是否為字符串的結(jié)尾
if (world.endsWith(suffix))
System.out.println("world是字符串world的結(jié)尾");
else
System.out.println("world不是字符串world的結(jié)尾");
//String buffer 類
//極大的提高字符串的處理速度,缺點(diǎn)是占內(nèi)存大。在處理極大量字符時(shí)使用
StringBuffer sb = new StringBuffer("StringBuffer beautifer good");
System.out.println(sb);
//添加參數(shù)到StringBuffer對(duì)象中
sb.append(",");
sb.append("I love StringBuffer!");
System.out.println(sb);
//刪除StringBuffer對(duì)象中指定字符或字符序列
sb.deleteCharAt(0);//刪指定位置的一個(gè)字符
System.out.println(sb);
sb.delete(0, 12);//從某位置到某位置全刪
System.out.println(sb);
//
}
}
上面代碼學(xué)習(xí)的朋友可以參考下
相關(guān)文章
spring中IOC控制反轉(zhuǎn)依賴注入和new對(duì)象的區(qū)別說明
這篇文章主要介紹了spring中IOC控制反轉(zhuǎn)依賴注入和new對(duì)象的區(qū)別說明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-02-02
Java實(shí)現(xiàn)提取HTML文件中的文本內(nèi)容
從?HTML?文件中提取文本內(nèi)容是數(shù)據(jù)抓取中的一個(gè)常見任務(wù),本文主要和大家分享了如何使用免費(fèi)?Java?API?從HTML?文件中提取文本內(nèi)容,需要的可以參考下2024-04-04
詳解如何把Java中if-else代碼重構(gòu)成高質(zhì)量代碼
這篇文章主要介紹了詳解如何把Java中if-else代碼重構(gòu)成高質(zhì)量代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
2020-11-11
spring?boot項(xiàng)目實(shí)戰(zhàn)之實(shí)現(xiàn)與數(shù)據(jù)庫的連接
在我們?nèi)粘5拈_發(fā)過程中,肯定不可避免的會(huì)使用到數(shù)據(jù)庫以及SQL?語句,下面這篇文章主要給大家介紹了關(guān)于spring?boot項(xiàng)目實(shí)戰(zhàn)之實(shí)現(xiàn)與數(shù)據(jù)庫連接的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
2023-05-05
淺談Java?abstract關(guān)鍵字不能和哪些關(guān)鍵字共存
本文主要介紹了Java?abstract關(guān)鍵字不能和哪些關(guān)鍵字共存,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
2023-10-10
Spring解決循環(huán)依賴問題及三級(jí)緩存的作用
這篇文章主要介紹了Spring解決循環(huán)依賴問題及三級(jí)緩存的作用,所謂的三級(jí)緩存只是三個(gè)可以當(dāng)作是全局變量的Map,Spring的源碼中大量使用了這種先將數(shù)據(jù)放入容器中等使用結(jié)束再銷毀的代碼風(fēng)格
2022-07-07 
