鸿蒙三方库 | harmony-utils之StrUtil字符串转换与替换详解
前言字符串转换和替换是文本处理的基础操作如大小写转换、首字母大写、字符串替换等。pura/harmony-utils的StrUtil封装了丰富的字符串转换方法。本文将从API说明、代码实战、进阶用法、常见问题等多个维度进行全面讲解帮助开发者快速掌握并应用到实际项目中。一、StrUtil转换核心APIStrUtil提供了以下字符串转换方法方法说明返回类型使用场景toUpperCase(str)转大写string大写转换toLowerCase(str)转小写string小写转换capitalize(str)首字母大写string标题格式reverse(str)反转字符串string特殊处理replace(str, old, new)替换字符串string文本替换replaceAll(str, regex, new)正则替换string批量替换1.1 核心特性简洁易用封装复杂逻辑为一行调用降低使用门槛类型安全完整的TypeScript类型定义编译期即可发现错误异常处理内置异常捕获机制避免运行时崩溃丰富方法覆盖大小写、首字母、反转、替换等场景1.2 转换方法对照方法输入输出说明toUpperCase‘hello’‘HELLO’全部大写toLowerCase‘WORLD’‘world’全部小写capitalize‘harmony’‘Harmony’首字母大写reverse‘abc’‘cba’字符反转二、完整使用步骤2.1 安装依赖ohpminstallpura/harmony-utils2.2 大小写转换import{StrUtil}frompura/harmony-utils;Button(大小写转换).width(100%).onClick((){try{letupperStrUtil.toUpperCase(hello);letlowerStrUtil.toLowerCase(WORLD);letcapStrUtil.capitalize(harmony);this.result大写:${upper}\n小写:${lower}\n首字母大写:${cap};}catch(e){this.result异常: e;}})2.3 字符串替换Button(字符串替换).width(100%).onClick((){try{letreplacedStrUtil.replace(hello world,world,harmony);letreversedStrUtil.reverse(hello);this.result替换:${replaced}\n反转:${reversed};}catch(e){this.result异常: e;}})三、完整页面示例import{StrUtil}frompura/harmony-utils;EntryComponentstruct StrConvertDemo{Stateresult:string;build(){Column({space:12}){Button(大小写转换).width(100%).onClick((){this.result大写:${StrUtil.toUpperCase(hello)}\n首字母:${StrUtil.capitalize(world)};});Button(替换反转).width(100%).onClick((){this.result替换:${StrUtil.replace(abc,a,x)}\n反转:${StrUtil.reverse(hello)};});Text(this.result).fontSize(14).fontColor(#333333)}.padding(16)}}四、进阶用法4.1 用户名格式化import{StrUtil}frompura/harmony-utils;functionformatUsername(name:string):string{lettrimmedname.trim();returnStrUtil.capitalize(StrUtil.toLowerCase(trimmed));}4.2 敏感词替换functionmaskSensitiveWords(text:string,words:string[]):string{letresulttext;words.forEach(word{resultStrUtil.replaceAll(result,word,*.repeat(word.length));});returnresult;}五、注意事项null安全传入null或undefined时方法会安全处理编码问题中文大小写转换可能不符合预期正则替换replaceAll使用正则注意特殊字符转义初始化依赖使用前需确保AppUtil.init()已调用性能考虑大量字符串操作时注意性能影响六、常见问题Q1: capitalize对中文有效吗中文没有大小写概念capitalize对中文无效原样返回。Q2: replace只替换第一个匹配吗是的replace只替换第一个匹配需要替换所有请使用replaceAll。Q3: reverse对emoji有效吗部分emoji由多个Unicode码点组成reverse可能拆散emoji。Q4: toUpperCase对特殊字符有效吗特殊字符如数字、标点不受大小写转换影响原样返回。总结StrUtil的字符串转换和替换方法为文本处理提供了便捷支持。本文详细介绍了核心API、使用步骤、完整示例、进阶用法以及常见问题的解决方案。开发者可以利用这些方法简化大小写转换、文本替换等操作。本文基于pura/harmony-utils工具库更多功能请参考官方文档与后续系列文章。

相关新闻

WatermarkRemover:五分钟搞定视频水印的终极免费方案

WatermarkRemover:五分钟搞定视频水印的终极免费方案

WatermarkRemover:五分钟搞定视频水印的终极免费方案 【免费下载链接】WatermarkRemover 批量去除视频中位置固定的水印 项目地址: https://gitcode.com/gh_mirrors/wa/WatermarkRemover 你是否曾经为视频中的水印烦恼过?想象一下,你精…

2026/7/25 11:37:12阅读更多 →
Taotoken按token计费模式如何帮助个人开发者更精细控制预算

Taotoken按token计费模式如何帮助个人开发者更精细控制预算

Taotoken按token计费模式如何帮助个人开发者更精细控制预算 对于个人开发者或小微项目而言,在引入大模型能力时,成本控制是一个现实且关键的考量。传统的包月套餐往往预设了固定的调用量或并发额度,对于用量波动大、项目初期探索阶段的开发者…

2026/7/25 11:37:12阅读更多 →
地图门店数字化运营提升教培机构到店获客效率研究——BBWEYY GEO服务解决教培机构获客难题,含零代码SAAS、AI编程、源码定制交付

地图门店数字化运营提升教培机构到店获客效率研究——BBWEYY GEO服务解决教培机构获客难题,含零代码SAAS、AI编程、源码定制交付

地图门店数字化运营提升教培机构到店获客效率研究——BBWEYY GEO服务解决教培机构获客难题 基于数字化工具与招生流程协同的应用研究 摘要:在获客成本上升、家长决策周期延长和渠道碎片化的背景下,中小教培机构需要从单次广告投放转向可沉淀、可测量、…

2026/7/25 11:37:12阅读更多 →
HDRP写实数字人口型同步技术全解析

HDRP写实数字人口型同步技术全解析

1. 项目概述在数字人制作领域,口型同步一直是让角色"活起来"的关键技术难点。这个教程将带大家深入HDRP管线下的写实数字人口型驱动全流程实现。不同于卡通风格的口型动画,写实角色对唇形变化的精确度和自然度要求更高,需要处理包括…

2026/7/25 13:01:24阅读更多 →
Python实现游戏子弹自动追踪算法:从向量数学到比例导航

Python实现游戏子弹自动追踪算法:从向量数学到比例导航

1. 项目概述:从“描边大师”到“锁头外挂”的跨越在《绝地求生》这类战术竞技游戏中,我们常常会调侃自己是“描边大师”,子弹总是和敌人擦肩而过。尤其是在中远距离移动靶的对枪中,预判提前量完全靠经验和玄学,手一抖&…

2026/7/25 13:01:24阅读更多 →
mHC:基于流形约束的超连接神经网络架构解析

mHC:基于流形约束的超连接神经网络架构解析

1. 论文背景与核心贡献DeepSeek团队最新发表的mHC(Manifold-Constrained HyperConnectivity)论文提出了一种创新的神经网络连接范式。这项研究源于深度学习领域长期存在的模型效率瓶颈问题——传统全连接结构在参数利用率和特征表达能力之间存在固有矛盾…

2026/7/25 13:01:24阅读更多 →
如何将泉盛UV-K5/K6对讲机升级为专业通信设备:LOSEHU固件完整指南

如何将泉盛UV-K5/K6对讲机升级为专业通信设备:LOSEHU固件完整指南

如何将泉盛UV-K5/K6对讲机升级为专业通信设备:LOSEHU固件完整指南 【免费下载链接】uv-k5-firmware-custom 全功能泉盛UV-K5/K6固件 Quansheng UV-K5/K6 Firmware 项目地址: https://gitcode.com/gh_mirrors/uvk5f/uv-k5-firmware-custom 想要让你的普通对讲…

2026/7/25 13:01:24阅读更多 →
基于YOLOv5的钢轨表面缺陷检测系统开发实践

基于YOLOv5的钢轨表面缺陷检测系统开发实践

1. 项目背景与核心价值钢轨作为铁路运输系统的核心基础设施,其表面缺陷直接关系到列车运行安全。传统人工巡检方式存在效率低、漏检率高、受环境光线影响大等问题。我们团队基于YOLOv5算法开发的这套检测系统,在实际铁路运维场景中实现了98.7%的检测准确…

2026/7/25 13:01:24阅读更多 →
3分钟学会使用WaveTools:终极鸣潮游戏优化工具箱指南

3分钟学会使用WaveTools:终极鸣潮游戏优化工具箱指南

3分钟学会使用WaveTools:终极鸣潮游戏优化工具箱指南 【免费下载链接】WaveTools 🧰鸣潮工具箱 项目地址: https://gitcode.com/gh_mirrors/wa/WaveTools WaveTools鸣潮工具箱是一款专为《鸣潮》玩家打造的开源游戏优化工具,能够轻松解…

2026/7/25 12:59:24阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/25 1:01:14阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/25 1:01:14阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/25 1:01:14阅读更多 →
突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存

突破文档下载限制:kill-doc让你看到的都能保存 【免费下载链接】kill-doc 看到经常有小伙伴们需要下载一些免费文档,但是相关网站浏览体验不好各种广告,各种登录验证,需要很多步骤才能下载文档,该脚本就是为了解决您的…

2026/7/25 0:01:16阅读更多 →
C++ string类模拟实现:从深拷贝到内存管理的完整指南

C++ string类模拟实现:从深拷贝到内存管理的完整指南

1. 项目概述:为什么我们要“手撕”string类?在C的学习道路上,尤其是从C语言过渡到C的“初阶”阶段,string类绝对是一个绕不开的核心。标准库里的std::string用起来太方便了,、find、substr,几个操作符和函数…

2026/7/25 0:01:16阅读更多 →
三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

三角洲寻宝鼠工具:高效文件搜索与资源管理实战指南

1. 先搞清楚“三角洲寻宝鼠”到底是什么工具从名称来看,“三角洲寻宝鼠”更像是一个资源查找或文件检索类工具,而不是游戏或娱乐软件。这类工具的核心价值在于帮助用户快速定位特定资源,比如文档、图片、压缩包或特定格式的文件。如果你经常需…

2026/7/25 0:01:16阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/24 23:01:03阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/24 19:00:40阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/24 19:00:40阅读更多 →