3. 字符串查找
常用查找的方法:
方法 | 功能 |
char charAt(int index) | 返回index位置上字符,如果index为负数或者越界,抛出IndexOutOfBoundsException异常 |
int indexOf(int ch) | 返回ch第一次出现的位置,没有返回-1 |
int indexOf(int ch, int fromIndex) | 从fromIndex位置开始找ch第一次出现的位置,没有返回-1 |
int indexOf(String str) | 返回str第一次出现的位置,没有返回-1 |
int indexOf(String str, int fromIndex) | 从fromIndex位置开始找str第一次出现的位置,没有返回-1 |
int lastIndexOf(int ch) | 从后往前找,返回ch第一次出现的位置,没有返回-1 |
int lastIndexOf(int ch, int fromlndex) | 从fromIndex位置开始找,从后往前找ch第一次出现的位置,没有返回-1 |
int lastIndexOf(Stringstr) | 从后往前找,返回str第一次出现的位置,没有返回-1 |
int lastIndexOf(String str, int fromlndex) | 从fromIndex位置开始找,从后往前找str第一次出现的位置,没有返回-1 |
实例:
public static void main(String[] args) { String s = "aaabbbcccaaabbbccc"; System.out.println(s.charAt(3)); // 'b' System.out.println(s.indexOf('c')); // 6 System.out.println(s.indexOf('c', 10)); // 15 System.out.println(s.indexOf("bbb")); // 3 System.out.println(s.indexOf("bbb", 10)); // 12 System.out.println(s.lastIndexOf('c')); // 17 System.out.println(s.lastIndexOf('c', 10)); // 8 System.out.println(s.lastIndexOf("bbb")); // 12 System.out.println(s.lastIndexOf("bbb", 10)); // 3 }
4. 转化
1.数值和字符串转化
public static void main(String[] args) { // 数字转字符串 String s1 = String.valueOf(1234); String s2 = String.valueOf(12.34); String s3 = String.valueOf(true); System.out.println(s1);//"1234" System.out.println(s2);//"12.34" System.out.println(s3);//"true" System.out.println("================================="); // 字符串转数字 // Integer、Double等是Java中的包装类型 int data1 = Integer.parseInt("1234"); double data2 = Double.parseDouble("12.34"); System.out.println(data1);//1234 System.out.println(data2);//12.34 }
2.大小写转换
public static void main(String[] args) { String s1 = "heLlo"; String s2 = "HELLO"; // 小写转大写 System.out.println(s1.toUpperCase());//HELLO // 大写转小写 System.out.println(s2.toLowerCase());//hello }
3.字符串转数组
public static void main(String[] args) { String s = "hello"; // 字符串转数组 char[] ch = s.toCharArray(); for (int i = 0; i < ch.length; i++) { System.out.print(ch[i]); } System.out.println(); // 数组转字符串 String s2 = new String(ch); System.out.println(s2); }
4.格式化
//格式化 public static void main(String[] args) { String s = String.format("%d-%d-%d", 2019, 9,14); System.out.println(s);//2019-9-14 }
5. 字符串替换
使用一个指定的新的字符串替换掉已有的字符串数据,可用的方法如下:
方法 | 功能 |
String replaceAll(String regex, String replacement) | 替换所有的指定内容 |
String replaceFirst(String regex, String replacement) | 替换首个内容 |
实例:
public static void main(String[] args) { String str = "helloworld" ; System.out.println(str.replaceAll("l", "_"));//he__owor_d System.out.println(str.replaceFirst("l", "_"));//he_loworld }
🍩字符串是不可变对象,替换-不修改当前字符串,而是产生一个新的字符串。