_029_String的方法
=================
構造方法: String(byte[] bytes) 通過使用平臺的預設字符集,解碼,指定的 byte 陣列,構造一個新的 String。將ASCII陣列轉換字串 String(char[] value) 分配一個新的 String,使其 表示 字元陣列引數中當前 包含的 字元序列。就是說把字元陣列轉到字串
方法: 1 獲取 int length() 獲取字串的字元個數 char charAt(int index)獲取指定位置的字元,但是可以用字串接受
2判斷
boolean contains包含(CharSequences字元序列)意思是是否包含指定序列
boolean equalsIgnoreCase(String anotherString)忽略大小寫的情況下是否相等
3 查詢 int indexOf(String str)查詢子串中第一次出現的索引值,找不到返回-1 int lastIndexOf(String str)查詢子串中最後一次出現的索引值
4 轉換
char[] toCharArray(); 將字串轉換為字元陣列,和構造方法String(char[] value 把字元陣列轉到字串) 相反
byte[] getBytes(); 將字串轉換位位元組陣列,字串到ASCII陣列。和構造方法String(byte[] bytes 將ASCII陣列轉換字串) 相反
String toUpperCase()//轉到大寫
String toLowerCase()//轉到小寫
static String valueOf(char[] data) 將字元陣列轉換到String,和構造方法一樣,但是不可能總是建立物件
返回 char 陣列引數的字串表示形式。
5 替換刪除切割
String replace(char oldChar,char newChar)文字替換
String[] split(String regex)切割,用什麼字串切換,相當於易語言的文字分割
String trim修剪()去首尾空格,相當於刪首尾空 ,中間空格不去
String subString(int beginIndex,int endIndex)//擷取一段字元
注意:
如果一個字元陣列的長度為2,而裡面只有一個字元,把它轉換到字串便會多一個空格,所以需要刪除首位空
需求: 先建立一個字串1,轉換到ASCII陣列,然後轉換到字串2,然後轉換到字元陣列,然後轉換到字串3,然後遍歷出字串3的每一
個字元轉換為數字後存到另一個數組裡面,然後把這個陣列轉換到字串4,然後把字串3和字串4比較,然後把
字串4的一些文字替換成O,返回string5,然後檢視這個O在字串4裡第一次出現的位置和最後一次出現的位置,擷取這段文字返回
string6然後再用O切割文字string6(因為中間可能還有O),然後輸出
public static void main(String[] args) { String str1 = "aaaa吾乃泰坦之神吾乃荒天帝吾乃哦彌陀佛aaaa"; byte[] byte1 = str1.getBytes(); //轉換到位元組集 System.out.println(Arrays.toString(byte1)); String str2 = new String(byte1); //把位元組集轉到字串 System.out.println(str2); char[] char1 = str2.toCharArray();//把字串轉換到字元陣列 String str3 = new String(char1); //把字元陣列轉換到字串 System.out.println(str3); char[] char2 = str3.toCharArray(); char[] char3 = new char[str3.length()]; byte[] byte2 = new byte[str3.length()]; String string4 = null; for (int i = 0; i < char2.length; i++) { char3[i] = char2[i]; String temp = new String(char3); temp = temp.trim();// 要刪除額外的空格,因為 //如果一個字元陣列的長度為2,而裡面只有一個字元,把它轉換到字串便會多一個空格,所以需要刪除首位空 byte2 = temp.getBytes(); temp = new String(byte2); temp = temp.trim();// 要刪除額外的空格 string4 = temp; } System.out.println(string4); System.out.println(string4.equals(str3)); // true System.out.println(string4 == str3); // false String string5 = string4.replace("吾", "O"); //替換字串 int start = string5.indexOf("O"); //查詢子串中第一次出現O索引值 int end = string5.lastIndexOf("O"); //查詢子串中最後一次出現O索引值 System.out.println(start); System.out.println(end); String string6 = string5.substring(start, end); //擷取字串 System.out.println(string6); String[] string7 = string6.split("O"); //分割字串 for (int i = 0; i < string7.length; i++) { System.out.println(string7[i]); } }