excel公式实现变量名蛇形转驼峰

需求背景

在不同的场景我们的变量命名风格不太相同,有时候我们拿到excel文档时想快速将一种风格的变量转成另外一种。
譬如我们想实现以下效果。
在这里插入图片描述
excel能快速实现吗?当然答案是肯定的。
excel本身功能强大,并且还有VBA辅助能实现各种复杂的数据处理。
当然今天的需求我们只需要excel自带的几个组合函数一起使用就可以实现。

实现步骤

1- 使用PROPER将文本值中每一个单词的首字母设置为大写
=PROPER("is_friend")的结果Is_Friend
2- 使用SUBSTITUTE替换下划线
=SUBSTITUTE("Is_Friend","_","")的结果IsFriend
3- 将第一个单词首字母恢复小写
首先使用LEFT(原始变量名,1)获取单词字母的原始值
在使用REPLACE(第2步生成的变量名,1,1,替换后的字符)替换变大写后的字母为小写

这样功能就完成了。组合之后的代码如下:

=REPLACE(SUBSTITUTE(PROPER(A1),"_",""),1,1,LEFT(A1,1))

效果图如下所示:
在这里插入图片描述

  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Rust 中,可以使用 serde 库来进行 JSON 的序列化和反序列化。而 serde 提供了一个 feature 叫做 `serde_with`,可以方便地进行蛇形驼峰的互。 首先需要在 Cargo.toml 中添加以下依赖: ```toml serde = { version = "1.0", features = ["derive"] } serde_json = "1.0" serde_with = { version = "1.9", features = ["serde_json"] } ``` 然后定义一个 struct,使用 `#[serde(rename_all = "xxx")]` 属性来指定字段名的转换方式。其中,`xxx` 可以是 `snake_case`、`camelCase`、`PascalCase` 等。 ```rust use serde::{Deserialize, Serialize}; use serde_with::serde_as; #[derive(Debug, Deserialize, Serialize)] struct User { #[serde(rename = "id")] user_id: i32, #[serde(rename = "userName")] user_name: String, #[serde(rename = "createdAt")] #[serde_as(as = "DateTime<Local>", rename = "createdAt")] created_at: DateTime<Local>, } ``` 在上面的例子中,`user_id` 和 `user_name` 使用了 `rename` 属性来分别指定了转换后的字段名,`created_at` 使用了 `serde_as` 来指定了字段名和数据类型的转换方式。 如果要将 JSON 字符串转换为 struct,可以使用 `serde_json::from_str` 方法: ```rust use serde_json::from_str; let json_str = r#"{ "id": 1, "userName": "Alice", "createdAt": "2021-01-01T00:00:00+08:00" }"#; let user: User = from_str(json_str).unwrap(); println!("{:?}", user); ``` 如果要将 struct 转换为 JSON 字符串,可以使用 `serde_json::to_string` 方法: ```rust use serde_json::to_string; let user = User { user_id: 1, user_name: "Alice".to_owned(), created_at: Local::now(), }; let json_str = to_string(&user).unwrap(); println!("{}", json_str); ``` 在输出的 JSON 字符串中,字段名就会按照指定的转换方式进行转换
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值