Rust字符串处理
2024-10-21 12:36:41
Trim移除字符串开始末尾的字符串
fn main() {
let s = " Hello Rust! ";
// trim移除字符串开始末尾的空格
// "Hello Rust!"
println!("{}", s.trim());
// trim_start移除字符串开始的空格
// "Hello Rust! "
println!("{}", s.trim_start());
// trim_end移除字符串末尾的空格
// " Hello Rust!"
println!("{}", s.trim_end());
let s = "abcabcabcHello Rust!abcabcabc";
// trim_start_matches移除字符串开始匹配的字符串
// "Hello Rust!abcabcabc"
println!("{}", s.trim_start_matches("abc"));
// trim_start_matches移除字符串开始匹配的字符串
// "abcabcabcHello Rust!"
println!("{}", s.trim_end_matches("abc"));
}
swap交换两个字符
fn main() {
// 1. as_mut_vec
let mut s = "中abc".to_string();
unsafe {
// 交换第0个和第1个元素
s.as_mut_vec().swap(0, 1);
}
// 乱码abc
println!("{}", s);
// 2. chars
let s = "中abc".to_string();
let mut arr: Vec<char> = s.chars().collect();
// 交换第0个和第1个元素
arr.swap(0, 1);
let s: String = arr.into_iter().collect();
// a中bc
println!("{}", s);
// 3. into_bytes
let s = "abc".to_string();
let mut arr = s.into_bytes();
unsafe {
// 交换第0个和第1个元素
std::ptr::swap(&mut arr[0], &mut arr[1]);
}
let s = String::from_utf8(arr).unwrap();
// bac
println!("{}", s);
// 4. replace_range
let mut s = "abc".to_string();
// tmp: &alloc::string::String
let tmp = &s[0..1].to_string();
// 交换第0个和第1个元素
// cannot borrow `s` as mutable because it is also borrowed as immutable
// s.replace_range(0..1, &s[1..2]);
s.replace_range(0..1, &s[1..2].to_string());
s.replace_range(1..2, tmp);
// bac
println!("{}", s);
}
最新文章
- Web 开发中很实用的10个效果【附源码下载】
- WPF DatePicker只显示年和月 修改:可以只显示年
- 配置springMVC之后,引入js,css等资源处理
- Ubuntu 14.04 LTS 安装 spark 1.6.0 (伪分布式)-26号开始
- 数据库 SQL Server 到 MySQL 迁移方法总结
- 原生js运动框架
- win7 64系统安装oracle客户端使用PL/SQL Developer工具
- 使用Sass和Compass组合写CSS
- Java Random随机种子
- 设计与实现的简单和经常使用的权限系统(五岁以下儿童):不维护节点的深度level,手工计算level,树形结构
- 转:【Java并发编程】之八:多线程环境中安全使用集合API(含代码)
- Schema与数据类型优化
- iframe嵌套vue页面打开新窗口
- linux中创建python的虚拟环境
- 1.4 flask request和session
- nginx配置详细解析
- Redhat 6.5安装JDK和Tomcat小记
- 【读书笔记】iOS-对iOS应用进行模糊测试
- Quartz入门例子简介 从入门到菜鸟(一)
- STM32 ADC 采样 频率的确定