将带下划线的字符串转换成大写(下划线后大写)的高效方法

简介: 如test_tb_kkk_llll  转换为    TestTbKkkLlll原理:1. 判断是否包含下划线    (1) 包含:        ① 按下划线将字符串切割成字符串数组        ② 在循环里调...

test_tb_kkk_llll  转换为    TestTbKkkLlll

原理:

1. 判断是否包含下划线

    (1) 包含:

        ① 按下划线将字符串切割成字符串数组

        ② 在循环里调用本方法(这个字符串肯定不包含下划线)(递归)

    (2) 不包含:

        ① 转换成字符数组

        ② 根据ASCII表将首字母变大写

ASCII表中的小写字母比大写大32,减去32即可,看下图即可

 

 

代码如下:


/**
	 * 方法说明 :将首字母和带 _ 后第一个字母 转换成大写
	 * 
	 * @return :String
	 * @author :HFanss
	 * @date :2018年5月31日下午9:52:19
	 */
	public static String upperTable(String str)
	{
		// 字符串缓冲区
		StringBuffer sbf = new StringBuffer();
		// 如果字符串包含 下划线
		if (str.contains("_"))
		{
			// 按下划线来切割字符串为数组
			String[] split = str.split("_");
			// 循环数组操作其中的字符串
			for (int i = 0, index = split.length; i < index; i++)
			{
				// 递归调用本方法
				String upperTable = upperTable(split[i]);
				// 添加到字符串缓冲区
				sbf.append(upperTable);
			}
		} else
		{// 字符串不包含下划线
			// 转换成字符数组
			char[] ch = str.toCharArray();
			// 判断首字母是否是字母
			if (ch[0] >= 'a' && ch[0] <= 'z')
			{
				// 利用ASCII码实现大写
				ch[0] = (char) (ch[0] - 32);
			}
			// 添加进字符串缓存区
			sbf.append(ch);
		}
		// 返回
		return sbf.toString();
	}

目录
相关文章
|
缓存 Linux C语言
Linux内存管理宏观篇(四)物理内存:物理内存管理区
Linux内存管理宏观篇(四)物理内存:物理内存管理区
214 1
|
安全 Linux 数据安全/隐私保护
【Linux】文件服务CIFS(Common Internet File System)
【Linux】文件服务CIFS(Common Internet File System)
327 0
|
消息中间件 架构师 Java
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战(上)
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战
974 0
史上最细最强大的RocketMQ实现分布式事务解决方案教程|Java 开发实战(上)
|
11月前
|
人工智能 算法 测试技术
PAI 大语言模型评测平台现已支持裁判员模型评测
本文将为您介绍如何在 PAI 大语言模型评测平台,基于裁判员模型,评价开源模型或者微调后模型的性能。该功能限时免费,欢迎使用。
|
8月前
|
存储 人工智能 缓存
《鸿蒙安全沙箱机制——人工智能应用的安全护盾》
鸿蒙系统的安全沙箱机制为人工智能应用提供了强大的安全保障。通过独立沙箱目录和路径隔离,确保每个应用在独立环境中运行,防止数据泄露和跨应用攻击。严格的访问控制和权限管理限制了程序的访问权限,保护敏感数据。统一身份认证、生物识别技术增强了登录安全性,防止未经授权访问。安全检测和重签名机制阻止恶意软件动态加载,确保应用的真实性和完整性。透明的权限管理让用户对应用行为有更多知情权和控制权。鸿蒙系统全方位的安全防护,使人工智能应用能在安全可靠的环境中运行。
425 15
|
大数据 Python
深入解析Python中的生成器(Generator) 及其高级应用
深入解析Python中的生成器(Generator) 及其高级应用
429 0
|
SQL 关系型数据库 MySQL
linux 上源码编译安装 PolarDB-X
linux 上源码编译安装 PolarDB-X
533 6
linux 上源码编译安装 PolarDB-X
|
12月前
|
网络协议 网络安全 网络架构
分布式基础-网络通信协议讲解
分布式基础-网络通信协议讲解
分布式基础-网络通信协议讲解
|
12月前
|
IDE Java 程序员
安卓应用开发入门:打造你的第一个“Hello World”
【9月更文挑战第11天】在编程的世界里,每一个初学者的旅程都从一个简单的“Hello World”开始。本文将带领安卓开发的新手们,通过简单直观的方式,一步步构建出自己的第一个安卓应用。我们将探索安卓工作室(Android Studio)的安装、项目的创建,以及如何运行和调试你的应用。无论你是编程新手还是想扩展技能的老手,这篇文章都将为你打开一扇通往安卓世界的大门。
373 8
|
存储 前端开发 数据可视化
skywalking安装教程
skywalking安装教程
skywalking安装教程