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类似,但线程安全。
相关推荐
xiao--xin10 分钟前
Java定时任务实现方案(一)——Timer
java·面试题·八股·定时任务·timer
MrZhangBaby23 分钟前
SQL-leetcode—1158. 市场分析 I
java·sql·leetcode
东软吴彦祖30 分钟前
包安装利用 LNMP 实现 phpMyAdmin 的负载均衡并利用Redis实现会话保持nginx
linux·redis·mysql·nginx·缓存·负载均衡
一只淡水鱼6637 分钟前
【spring原理】Bean的作用域与生命周期
java·spring boot·spring原理
五味香43 分钟前
Java学习,查找List最大最小值
android·java·开发语言·python·学习·golang·kotlin
jerry-891 小时前
Centos类型服务器等保测评整/etc/pam.d/system-auth
java·前端·github
Jerry Lau1 小时前
大模型-本地化部署调用--基于ollama+openWebUI+springBoot
java·spring boot·后端·llama
小白的一叶扁舟1 小时前
Kafka 入门与应用实战:吞吐量优化与与 RabbitMQ、RocketMQ 的对比
java·spring boot·kafka·rabbitmq·rocketmq
幼儿园老大*1 小时前
【系统架构】如何设计一个秒杀系统?
java·经验分享·后端·微服务·系统架构
言之。1 小时前
【Java】面试中遇到的两个排序
java·面试·排序算法