2022年4月22日 星期五

android studio:字串處理的一些方法

有時候,取回來的文字資料,需要進行適當的處理,才可以再度利用,這時候就會用到java處理文字的方法。

(1)replace 用新的數值取代字串中的舊數值

String Text="這個字是a,要取代成b";
//以參數2的文字取代參數1的文字,只可替換文字
Text.replace("a","b");
//以參數2的值取代參數1的值,可替換其它如空白、\\d等參數式,此範例為將兩個空白取代成一個空白
Text.replaceAll(" "," ");
//只更換第一個,以參數2的值取代參數1的值,可替換其它如空白、\\d等參數式,此範例為將兩個空白取代成一個空白
Text.replaceFirst(" "," ");

(2)split 將有固定分隔號的字串,轉為清單形式
String Text="3 4 5";
//利用空格將字串分成[3,4,5],這樣利用取得清單的方式取得其中的某個值,中間要加中括號
Text.split("[ ]");
String[] words = Text.split("[ ]");
//遇特殊的符號,正則運算式,要加兩個反斜線\\,這很重要
List<String> list2=new ArrayList();
list2= Arrays.asList(Text.split("[ ]"));

如果要區隔的元件是正則表示式,像是.(連接符號)、^(限制開頭),要加兩個反斜線

(3)substring 取出某個位置到某個位置的字串
String str="我是一個天才";
//參數1是要取值的第一個位置,第二個是結束的位置,這個位置不包含第一個位置,以下取得"是"
str=str.substring(1,2);
//參數1是要取值的第1個位置,後面沒有設,因此到結尾,以下取得"一個天才"
str=str.substring(2);
//參數1為第1個位置,參數2為你要搜尋的那個字位置,以下取得"一個天"
str=str.substring(2,str.indexOf("才"));

(4)indexOf 搜尋某個字串的位置
String str="我是一個天才,你也是一個天才";
//參數一為你要搜尋的字串,搜尋字串"一"出現的第一位置
str.indexOf("一");
//參數一為你要搜尋的字串,參數二是搜尋的起始點,此為由第4個位置開始,搜尋字串"一"出現的第一位置
str.indexOf("一",4);
//參數一為你要搜尋的字串,搜尋字串"一"出現的最後一個位置
str.lastIndexOf("一");

(5)charAt
String str="我是一個天才,你也是一個天才";
//參數一為你要搜尋的位置,以下為搜尋第5個位置,得到的值為"天"
str.charAt(5);

(6)startsWith和endsWith

String str="我是一個天才,你也是一個天才";
//參數一為你要搜尋的前綴字串,傳回值為布林值,若符合是真,不符合是假"
str.startsWith("我是");
//參數一為你要搜尋的後綴字串,傳回值為布林值,若符合是真,不符合是假"
str.endsWith("天才");

(7)concat 連接兩個字串

string1.concat(string2); //以下連接string1和string2兩個字串


(8)compareTo 比較兩個字串的長度值,返回值為int,此int為兩個字串的長度差


(9)trim 去除字串前後的空白

String String = new String("   www.xxx.com    ");
String.trim(); //去除字串前後的空白

(10)contains 判斷字串裡是否包含某字串,若有則會傳回true值。
String string = "這是一個測試";
boolean b=string.contains("是"); //傳回True值

參考網頁:https://www.runoob.com/java/java-string.html
               https://www.w3schools.com/java/java_strings.asp


沒有留言:

張貼留言