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