Java中有关处理string类型变量的函数

1. 基本方法

  • length()

    • 描述: 返回字符串的长度(字符数)。
    • 示例 : "Hello".length() 返回 5
  • charAt(int index)

    • 描述: 返回指定索引处的字符。
    • 示例 : "Hello".charAt(1) 返回 'e'
  • substring(int beginIndex)

    • 描述: 返回从指定索引开始到字符串末尾的子字符串。
    • 示例 : "Hello".substring(2) 返回 "llo"
  • substring(int beginIndex, int endIndex)

    • 描述 : 返回从beginIndexendIndex(不包括endIndex)的子字符串。
    • 示例 : "Hello".substring(1, 4) 返回 "ell"

2. 搜索与匹配

  • indexOf(String str)

    • 描述 : 返回指定子字符串首次出现的索引,如果未找到则返回 -1
    • 示例 : "Hello".indexOf("ll") 返回 2
  • lastIndexOf(String str)

    • 描述 : 返回指定子字符串最后一次出现的索引,如果未找到则返回 -1
    • 示例 : "Hello".lastIndexOf("l") 返回 3
  • contains(CharSequence s)

    • 描述: 判断字符串是否包含指定的子序列。
    • 示例 : "Hello".contains("ell") 返回 true
  • startsWith(String prefix)

    • 描述: 判断字符串是否以指定前缀开始。
    • 示例 : "Hello".startsWith("He") 返回 true
  • endsWith(String suffix)

    • 描述: 判断字符串是否以指定后缀结束。
    • 示例 : "Hello".endsWith("lo") 返回 true

3. 转换与格式化

  • toLowerCase()

    • 描述: 将字符串中的所有字符转换为小写。
    • 示例 : "HELLO".toLowerCase() 返回 "hello"
  • toUpperCase()

    • 描述: 将字符串中的所有字符转换为大写。
    • 示例 : "hello".toUpperCase() 返回 "HELLO"
  • trim()

    • 描述: 去除字符串首尾的空白字符。
    • 示例 : " Hello ".trim() 返回 "Hello"
  • replace(char oldChar, char newChar)

    • 描述: 替换字符串中所有出现的指定字符。
    • 示例 : "Hello".replace('l', 'p') 返回 "Heppo"
  • replace(CharSequence target, CharSequence replacement)

    • 描述: 替换字符串中所有出现的指定子序列。
    • 示例 : "Hello".replace("ll", "pp") 返回 "Heppo"
  • replaceAll(String regex, String replacement)

    • 描述: 使用正则表达式替换字符串中所有匹配的部分。
    • 示例 : "Hello123".replaceAll("\\d", "") 返回 "Hello"
  • replaceFirst(String regex, String replacement)

    • 描述: 使用正则表达式替换字符串中第一个匹配的部分。
    • 示例 : "Hello123".replaceFirst("\\d", "") 返回 "Hello23"

4. 分割与连接

  • split(String regex)

    • 描述: 根据正则表达式将字符串分割成数组。
    • 示例 : "a,b,c".split(",") 返回 ["a", "b", "c"]
  • split(String regex, int limit)

    • 描述: 根据正则表达式将字符串分割成数组,限制分割次数。
    • 示例 : "a,b,c".split(",", 2) 返回 ["a", "b,c"]

5. 比较与判断

  • equals(Object anObject)

    • 描述: 比较两个字符串的内容是否相同。
    • 示例 : "Hello".equals("hello") 返回 false
  • equalsIgnoreCase(String anotherString)

    • 描述: 比较两个字符串在忽略大小写的情况下是否相同。
    • 示例 : "Hello".equalsIgnoreCase("hello") 返回 true
  • compareTo(String anotherString)

    • 描述: 按字典顺序比较两个字符串。
    • 示例 : "apple".compareTo("banana") 返回一个负数
  • compareToIgnoreCase(String str)

    • 描述: 忽略大小写按字典顺序比较两个字符串。
    • 示例 : "apple".compareToIgnoreCase("Banana") 返回一个负数

6. 其他有用的方法

  • isEmpty()

    • 描述: 判断字符串是否为空(长度为0)。
    • 示例 : "".isEmpty() 返回 true
  • toCharArray()

    • 描述: 将字符串转换为字符数组。
    • 示例 : "Hello".toCharArray() 返回 ['H', 'e', 'l', 'l', 'o']
  • intern()

    • 描述: 返回字符串的规范化表示,使用字符串常量池。
    • 示例 : "Hello".intern()
  • matches(String regex)

    • 描述: 判断字符串是否匹配给定的正则表达式。
    • 示例 : "12345".matches("\\d+") 返回 true
  • startsWith(String prefix, int toffset)

    • 描述: 判断字符串从指定索引开始是否以给定前缀开始。
    • 示例 : "Hello".startsWith("ell", 1) 返回 true
  • codePointAt(int index)

    • 描述: 返回指定索引处的字符的Unicode代码点。
    • 示例 : "Hello".codePointAt(1) 返回 101 ('e'的Unicode)
  • codePointBefore(int index)

    • 描述: 返回指定索引前一个字符的Unicode代码点。
    • 示例 : "Hello".codePointBefore(1) 返回 72 ('H'的Unicode)
  • codePointCount(int beginIndex, int endIndex)

    • 描述 : 计算字符串中从beginIndexendIndex之间的Unicode代码点数量。
    • 示例 : "Hello".codePointCount(0, 5) 返回 5

7. 格式化方法

  • format(String format, Object... args)
    • 描述: 根据指定的格式和参数,返回一个格式化后的字符串。
    • 示例 : String.format("Hello, %s!", "World") 返回 "Hello, World!"

8. 转换为其他类型

  • getBytes()

    • 描述: 将字符串转换为字节数组,使用平台的默认字符集。
    • 示例 : "Hello".getBytes()
  • getBytes(String charsetName)

    • 描述: 将字符串转换为指定字符集的字节数组。
    • 示例 : "Hello".getBytes("UTF-8")

9. 格式化与解析

  • valueOf(...)
    • 描述: 将各种类型的数据转换为字符串。
    • 示例 :
      • String.valueOf(123) 返回 "123"
      • String.valueOf(true) 返回 "true"

10. 静态方法

  • join(CharSequence delimiter, CharSequence... elements)

    • 描述: 将多个字符串用指定的分隔符连接起来。
    • 示例 : String.join(", ", "a", "b", "c") 返回 "a, b, c"
  • copyValueOf(char[] data)

    • 描述: 创建一个新字符串,以字符数组中的字符为内容。
    • 示例 : String.copyValueOf(new char[]{'H', 'i'}) 返回 "Hi"
  • copyValueOf(char[] data, int offset, int count)

    • 描述: 创建一个新字符串,以字符数组中指定范围的字符为内容。
    • 示例 : String.copyValueOf(new char[]{'H', 'e', 'l', 'l', 'o'}, 1, 3) 返回 "ell"

11. 正则表达式相关

  • splitAsStream(String regex)
    • 描述 : 根据正则表达式将字符串分割,并返回一个Stream<String>
    • 示例 : "a,b,c".splitAsStream(",").forEach(System.out::println)

12. 其他

  • intern()
    • 描述 : 如果字符串常量池中已经包含一个等于此String对象的字符串,则返回池中的字符串;否则,将此String对象添加到池中并返回此String对象的引用。
    • 示例 : String s = new String("Hello").intern();

附加说明

除了String类,Java还提供了StringBuilderStringBuffer类,这两个类用于在需要频繁修改字符串内容的场景中提供更高效的性能。StringBuilder是非线程安全的,而StringBuffer是线程安全的。

  • StringBuilder常用方法:

    • append(...)
    • insert(...)
    • delete(...)
    • reverse()
    • toString()
  • StringBuffer常用方法:

    • StringBuilder类似,但线程安全。
相关推荐
代码的余温3 分钟前
5种高效解决Maven依赖冲突的方法
java·maven
慕y2746 分钟前
Java学习第十六部分——JUnit框架
java·开发语言·学习
paishishaba13 分钟前
Maven
java·maven
张人玉42 分钟前
C# 常量与变量
java·算法·c#
Java技术小馆1 小时前
GitDiagram如何让你的GitHub项目可视化
java·后端·面试
m0_623955661 小时前
Oracle使用SQL一次性向表中插入多行数据
数据库·sql·oracle
Codebee1 小时前
“自举开发“范式:OneCode如何用低代码重构自身工具链
java·人工智能·架构
程序无bug1 小时前
手写Spring框架
java·后端
程序无bug2 小时前
Spring 面向切面编程AOP 详细讲解
java·前端
阿蒙Amon2 小时前
C#读写文件:多种方式详解
开发语言·数据库·c#