Hutool Hutool
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
(opens new window)
🏡首页
📖指南
🎢最佳实践
💖支持
💡javaDoc (opens new window)
⏳更新记录 (opens new window)
  • 🍎gitee (opens new window)
  • 🍏github (opens new window)
  • 快速入门

  • 核心(hutool-core)

    • AI(Hutool-ai)

    • 注解(annotation)

    • 数组(array)

    • JavaBean(bean)

    • 缓存(cache)

    • 类加载器(classloader)

    • 编码解码(codec)

    • 集合(collection)

    • 比较器(comparator)

    • 压缩(compress)

    • 类型转换(convert)

    • 数据(data)

    • 日期时间(date)

    • 异常(exception)

    • 函数(func)

    • IO流(io)

    • 语言特性(lang)

    • Map(map)

    • 数字数学(math)

    • 网络(net)

    • 对象池(pool)

    • 反射(reflect)

    • 正则(regex)

    • 服务提供(spi)

    • 聚合操作(stream)

    • 字符串文本(text)

      • 文本(text)模块简介
      • 字符串工具-StrUtil
      • 字符串模板格式化和解析-StrTemplate
      • 字符序列工具-CharSequenceUtil
        • 1. 字符序列判断
          • 1.1 空值判断
          • 1.2 内容判断
        • 2. 字符序列转换
          • 2.1 类型转换
          • 2.2 格式转换
        • 3. 字符序列修剪
          • 3.1 去除空白
          • 3.2 去除指定字符
        • 4. 字符序列分割
          • 4.1 基础分割
          • 4.2 高级分割
        • 5. 字符序列拼接
        • 6. 字符序列替换
          • 6.1 基础替换
          • 6.2 正则替换
        • 7. 字符序列截取
          • 7.1 基础截取
          • 7.2 高级截取
        • 8. 字符序列填充
          • 8.1 左右填充
        • 9. 其他常用功能
          • 9.1 生成随机字符序列
          • 9.2 重复字符序列
          • 9.3 计算字符序列长度
        • 10. 适用场景
      • 字符工具-CharUtil
    • 并发和线程(thread)

    • 树结构(tree)

    • 工具集合(util)

    • XML操作(xml)

  • 定时任务(hutool-cron)

  • 加密(hutool-crypto)

  • 数据库(hutool-db)

  • 扩展(hutool-extra)

  • HTTP(hutool-http)

  • 日志(hutool-log)

  • 配置文件(hutool-setting)

  • JSON(hutool-json)

  • Office办公(hutool-poi)

  • 套接字(hutool-socket)

  • GUI(hutool-swing)

  • 指南
  • 核心(hutool-core)
  • 字符串文本(text)
Hutool
2026-01-03
目录

字符序列工具-CharSequenceUtil

# 字符序列工具-CharSequenceUtil

CharSequenceUtil是Hutool中用于处理各种字符序列(CharSequence)的工具类,支持String、StringBuilder、StringBuffer等多种字符序列类型,提供了与StrUtil类似的功能,但更加通用。

# 1. 字符序列判断

# 1.1 空值判断

// 判断字符序列是否为null或空
boolean isEmpty = CharSequenceUtil.isEmpty("";
boolean isEmpty = CharSequenceUtil.isEmpty(null);

// 判断字符序列是否为null、空或空白字符
boolean isBlank = CharSequenceUtil.isBlank("   ");

// 判断字符序列是否不为空
boolean isNotEmpty = CharSequenceUtil.isNotEmpty("abc");

// 判断字符序列是否不为空白
boolean isNotBlank = CharSequenceUtil.isNotBlank("abc");

# 1.2 内容判断

// 判断字符序列是否以指定前缀开头
boolean startsWith = CharSequenceUtil.startWith("abc", "a");

// 判断字符序列是否以指定后缀结尾
boolean endsWith = CharSequenceUtil.endWith("abc", "c");

// 判断字符序列是否包含指定子串
boolean contains = CharSequenceUtil.contains("abc", "b");

# 2. 字符序列转换

# 2.1 类型转换

// 转换为String
String str = CharSequenceUtil.toString(new StringBuilder("abc"));

// 转换为StringBuilder
StringBuilder sb = CharSequenceUtil.toBuilder("abc");

// 转换为StringBuffer
StringBuffer sbuf = CharSequenceUtil.toBuffer("abc");

# 2.2 格式转换

// 格式化字符序列
CharSequence formatted = CharSequenceUtil.format("Hello, {}!", "world");

# 3. 字符序列修剪

# 3.1 去除空白

// 去除字符序列两端空白
CharSequence trimmed = CharSequenceUtil.trim("  abc  ");

// 去除字符序列左端空白
CharSequence ltrimmed = CharSequenceUtil.ltrim("  abc  ");

// 去除字符序列右端空白
CharSequence rtrimmed = CharSequenceUtil.rtrim("  abc  ");

# 3.2 去除指定字符

// 去除字符序列两端指定字符
CharSequence stripped = CharSequenceUtil.strip("'abc'", "'");

# 4. 字符序列分割

# 4.1 基础分割

// 按指定分隔符分割字符序列
String[] parts = CharSequenceUtil.split("a,b,c", ',');

// 分割为List
List<String> partList = CharSequenceUtil.splitToList("a,b,c", ',');

# 4.2 高级分割

// 按空白字符分割
String[] parts = CharSequenceUtil.split("a b  c");

# 5. 字符序列拼接

// 拼接字符序列
CharSequence joined = CharSequenceUtil.join(",", "a", "b", "c");

// 拼接字符序列数组
CharSequence[] array = {"a", "b", "c"};
CharSequence joined = CharSequenceUtil.join(",", array);

# 6. 字符序列替换

# 6.1 基础替换

// 替换指定子串
CharSequence replaced = CharSequenceUtil.replace("abc", "b", "B");

// 替换所有匹配的子串
CharSequence replaced = CharSequenceUtil.replaceAll("ababa", "a", "A");

// 替换第一个匹配的子串
CharSequence replaced = CharSequenceUtil.replaceFirst("ababa", "a", "A");

# 6.2 正则替换

// 使用正则表达式替换
CharSequence replaced = CharSequenceUtil.replaceRegex("abc123", "\\d+", "");

# 7. 字符序列截取

# 7.1 基础截取

// 截取指定位置的子串
CharSequence sub = CharSequenceUtil.sub("abcdef", 1, 4);

// 从指定位置截取到字符序列末尾
CharSequence sub = CharSequenceUtil.subSuf("abcdef", 2);

// 截取字符序列开头指定长度的子串
CharSequence sub = CharSequenceUtil.subPre("abcdef", 3);

# 7.2 高级截取

// 截取字符序列中两个子串之间的内容
CharSequence between = CharSequenceUtil.subBetween("<tag>content</tag>", "<tag>", "</tag>");

// 截取字符序列中指定前缀之后的内容
CharSequence after = CharSequenceUtil.subAfter("abcdef", "c", false);

// 截取字符序列中指定后缀之前的内容
CharSequence before = CharSequenceUtil.subBefore("abcdef", "d", false);

# 8. 字符序列填充

# 8.1 左右填充

// 左填充指定字符到指定长度
CharSequence padded = CharSequenceUtil.padLeft("123", 5, '0');

// 右填充指定字符到指定长度
CharSequence padded = CharSequenceUtil.padRight("123", 5, '0');

// 居中填充指定字符到指定长度
CharSequence padded = CharSequenceUtil.padCenter("123", 5, '0');

# 9. 其他常用功能

# 9.1 生成随机字符序列

// 生成指定长度的随机字符序列
CharSequence random = CharSequenceUtil.random(5);

// 生成指定长度的随机数字字符序列
CharSequence randomNumbers = CharSequenceUtil.randomNumbers(5);

# 9.2 重复字符序列

// 重复指定次数的字符序列
CharSequence repeated = CharSequenceUtil.repeat("abc", 3);

# 9.3 计算字符序列长度

// 计算字符序列长度(支持Unicode)
int length = CharSequenceUtil.length("你好,世界");

# 10. 适用场景

CharSequenceUtil适用于以下场景:

  • 需要处理多种类型的字符序列时
  • 需要编写通用的字符序列处理代码时
  • 需要在不同字符序列类型之间转换时
  • 需要对StringBuilder、StringBuffer等进行与String相同的操作时
  • 希望代码更加通用,不依赖于具体的字符序列实现时

通过CharSequenceUtil,开发者可以编写更加通用的字符序列处理代码,提高代码的复用性和灵活性,同时享受到与StrUtil类似的便捷功能。

字符串模板格式化和解析-StrTemplate
字符工具-CharUtil

← 字符串模板格式化和解析-StrTemplate 字符工具-CharUtil→

Theme by Vdoing | Copyright © 2025-2026 Hutool | Apache-2.0
  • 跟随系统
  • 浅色模式
  • 深色模式
  • 阅读模式