Java String 使用手册(完整版)

发布时间:2024-12-16 18:10:00

1. 字符串长度、字符获取与位置查询


获取字符串的长度


| 方法       | 描述             | 示例代码                                                   |
| ---------- | ---------------- | ---------------------------------------------------------- |
| length() | 返回字符串的长度 | String s = "hello"; System.out.println(s.length()); // 5 |


获取字符串中指定位置的字符


| 方法                | 描述               | 示例代码                                  |
| ------------------- | ------------------ | ----------------------------------------- |
| charAt(int index) | 获取指定位置的字符 | System.out.println(s.charAt(1)); // 'e' |


查找指定字符第一次出现的位置


| 方法              | 描述                     | 示例代码                                   |
| ----------------- | ------------------------ | ------------------------------------------ |
| indexOf(char c) | 查找字符第一次出现的位置 | System.out.println(s.indexOf('o')); // 4 |


查找指定字符最后一次出现的位置


| 方法                  | 描述                       | 示例代码                                       |
| --------------------- | -------------------------- | ---------------------------------------------- |
| lastIndexOf(char c) | 查找字符最后一次出现的位置 | System.out.println(s.lastIndexOf('o')); // 4 |


查找指定子字符串的位置


| 方法                  | 描述                         | 示例代码                                       |
| --------------------- | ---------------------------- | ---------------------------------------------- |
| indexOf(String str) | 查找子字符串第一次出现的位置 | System.out.println(s.indexOf("world")); // 6 |


查找指定子字符串最后一次出现的位置


| 方法                      | 描述                           | 示例代码                                            |
| ------------------------- | ------------------------------ | --------------------------------------------------- |
| lastIndexOf(String str) | 查找子字符串最后一次出现的位置 | System.out.println(s.lastIndexOf("world")); // 32 |




2. 字符串转换与格式化


字符串转换为字符数组


| 方法            | 描述                   | 示例代码                              |
| --------------- | ---------------------- | ------------------------------------- |
| toCharArray() | 将字符串转换为字符数组 | char[] charArray = s.toCharArray(); |


将整数转换为字符串


| 方法                    | 描述               | 示例代码                                 |
| ----------------------- | ------------------ | ---------------------------------------- |
| String.valueOf(int i) | 将整数转换为字符串 | String s = String.valueOf(99); // "99" |


字符串转为大写


| 方法            | 描述               | 示例代码                                        |
| --------------- | ------------------ | ----------------------------------------------- |
| toUpperCase() | 将字符串转换为大写 | String s2 = s.toUpperCase(); // "HELLO WORLD" |


字符串转为小写


| 方法            | 描述               | 示例代码                                        |
| --------------- | ------------------ | ----------------------------------------------- |
| toLowerCase() | 将字符串转换为小写 | String s3 = s.toLowerCase(); // "hello world" |


去除字符串两端的空格


| 方法     | 描述                 | 示例代码                           |
| -------- | -------------------- | ---------------------------------- |
| trim() | 去掉字符串两端的空格 | String s4 = s.trim(); // "hello" |


替换指定字符或子字符串


| 方法                                         | 描述         | 示例代码                                      |
| -------------------------------------------- | ------------ | --------------------------------------------- |
| replace(char oldChar, char newChar)        | 替换字符     | s.replace(' ', ','); // "hello,world"       |
| replace(String target, String replacement) | 替换子字符串 | s.replace("world", "Java"); // "hello Java" |




3. 字符串的匹配与比较


判断字符串是否以指定前缀开始


| 方法                        | 描述                   | 示例代码                                           |
| --------------------------- | ---------------------- | -------------------------------------------------- |
| startsWith(String prefix) | 判断是否以指定前缀开始 | System.out.println(s.startsWith("Str")); // true |


判断字符串是否以指定后缀结束


| 方法                      | 描述                   | 示例代码                                        |
| ------------------------- | ---------------------- | ----------------------------------------------- |
| endsWith(String suffix) | 判断是否以指定后缀结束 | System.out.println(s.endsWith("ng")); // true |


判断字符串是否包含指定子字符串


| 方法                              | 描述                     | 示例代码                                         |
| --------------------------------- | ------------------------ | ------------------------------------------------ |
| contains(CharSequence sequence) | 判断是否包含指定子字符串 | System.out.println(s.contains("tri")); // true |


判断字符串是否为空


| 方法        | 描述               | 示例代码                                    |
| ----------- | ------------------ | ------------------------------------------- |
| isEmpty() | 判断字符串是否为空 | System.out.println(s.isEmpty()); // false |


字符串内容是否相同(区分大小写)


| 方法                           | 描述                   | 示例代码                                           |
| ------------------------------ | ---------------------- | -------------------------------------------------- |
| equals(String anotherString) | 判断两个字符串是否相同 | System.out.println(s.equals("string")); // false |


忽略大小写判断字符串内容是否相同


| 方法                                     | 描述                     | 示例代码                                                    |
| ---------------------------------------- | ------------------------ | ----------------------------------------------------------- |
| equalsIgnoreCase(String anotherString) | 忽略大小写比较两个字符串 | System.out.println(s.equalsIgnoreCase("STRING")); // true |


按字典序比较两个字符串


| 方法                              | 描述                   | 示例代码                                      |
| --------------------------------- | ---------------------- | --------------------------------------------- |
| compareTo(String anotherString) | 按字典序比较两个字符串 | System.out.println(s1.compareTo(s2)); // -1 |


忽略大小写比较两个字符串


| 方法                                        | 描述                     | 示例代码                                                |
| ------------------------------------------- | ------------------------ | ------------------------------------------------------- |
| compareToIgnoreCase(String anotherString) | 忽略大小写比较两个字符串 | System.out.println(s1.compareToIgnoreCase(s2)); // -1 |




4. 字符串的截取与拼接


从指定位置截取字符串(包含指定位置)


| 方法                        | 描述               | 示例代码                                          |
| --------------------------- | ------------------ | ------------------------------------------------- |
| substring(int beginIndex) | 从指定位置开始截取 | String s1 = str.substring(6); // "Banana-Peach" |


从指定位置截取到指定位置的字符串


| 方法                                      | 描述                     | 示例代码                                        |
| ----------------------------------------- | ------------------------ | ----------------------------------------------- |
| substring(int beginIndex, int endIndex) | 从指定位置到指定位置截取 | String s2 = str.substring(6, 12); // "Banana" |


字符串拼接


| 方法                 | 描述       | 示例代码                                                     |
| -------------------- | ---------- | ------------------------------------------------------------ |
| concat(String str) | 拼接字符串 | String s3 = str.concat("-Pear"); // "Apple-Banana-Peach-Pear" |


字符串分割为数组


| 方法                  | 描述                     | 示例代码                                                     |
| --------------------- | ------------------------ | ------------------------------------------------------------ |
| split(String regex) | 根据正则表达式分割字符串 | String[] strArray = str.split("-"); // ["Apple", "Banana", "Peach"] |




5. 常用的其他方法


判断字符串是否为null或空


| 方法                      | 描述                       | 示例代码                                                 |
| ------------------------- | -------------------------- | -------------------------------------------------------- |
| isNullOrEmpty(String s) | 判断字符串是否为null或空 | System.out.println(s == null || s.isEmpty()); // false |


去掉字符串两端的空格并转换成大写


| 方法                   | 描述                   | 示例代码                                         |
| ---------------------- | ---------------------- | ------------------------------------------------ |
| trim().toUpperCase() | 去掉两端空格并转为大写 | String s2 = s.trim().toUpperCase(); // "HELLO" |


判断字符串是否包含空白字符


| 方法                  | 描述                       | 示例代码                                             |
| --------------------- | -------------------------- | ---------------------------------------------------- |
| matches(".*\\s+.*") | 判断字符串是否包含空白字符 | System.out.println(s.matches(".*\\s+.*")); // true |




总结


通过对 String 类的这些常用方法的掌握,我们可以有效地处理字符串数据,进行匹配、替换、拼接、格式化等操作。希望通过这篇手册,你能更熟练地使用字符串类的功能,提高开发效率。