Rust-字符串

news/2026/1/17 16:38:25/文章来源:https://www.cnblogs.com/baiyutang7/p/19342568
fn main() {// 1. 创建字符串let s1 = String::new();let s2 = String::with_capacity(100);let s3 = String::from("hello");let s4 = "RUST".to_string();let s5: String = "rust".into();let s6 = "学习rust".repeat(2);let s7 = String::from_utf8(vec![b'h', b'i']).unwrap();println!("s7 = {}", s7); // hi// 2. 长度let len: usize = s6.len(); // 字节数let char_count: usize = s6.chars().count();let is_empty = s7.is_empty();println!("s6 len({}), chars({}), is empty: {}", len, char_count, is_empty); // s6 len(20), chars(12), is empty: false// 3. 包含、查找let has_u: bool = s5.contains("u");let starts: bool = s5.starts_with("ru");let ends: bool = s5.ends_with("st");let find_llo: Option<usize> = s3.find("llo"); // Some(2)let find_l: Option<usize> = s3.rfind("l"); // Some(3)println!("{}, {}, {}, {:?}, {:?}", has_u, starts, ends, find_llo, find_l);  // true, true, true, Some(2), Some(3)// 4. 比较let eq_ignore_case = s4.eq_ignore_ascii_case("rust");println!("{} = {} : {}", s4, "rust", eq_ignore_case); // RUST = rust : true// 5. 修改let mut s = String::from("hello");s.push(',');  // push chars.push_str("Rust");s.extend("字符串!".chars());s.insert(5, ',');s.insert_str(6, "world");s.replace_range(0..2, "HEL");let mut sp: String = s.replace("R", "r");let right_char: Option<char> = sp.pop();let src: char = s.remove(7);sp.truncate(6);println!("s: {s}\nsp: {sp}\nright_char:{right_char:?}, s remove char: {src}");sp.retain(|c| c!='H');println!("sp :{}", sp);// s: HELllo,orld,Rust字符串!// sp: HELllo// right_char:Some('!'), s remove char: w// sp :ELllolet mut s8 = "  rust!!  ".to_string();let trimed: &str = s8.trim();let left_trimed: &str = s8.trim_start();let right_trimed: &str = s8.trim_end();let trimmed_matches: &str = s8.trim_matches(|c| c == '!' || c == ' ');println!("trimed:{}, left_trimed:{}, right_trimed: {}, trimed_matched: {}", trimed, left_trimed, right_trimed, trimmed_matches);// trimed:rust!!, left_trimed:rust!!  , right_trimed:   rust!!, trimed_matched: rust}

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/1003841.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

React-chartjs-2 数据集管理:3个关键问题与解决方案

React-chartjs-2 数据集管理&#xff1a;3个关键问题与解决方案 【免费下载链接】react-chartjs-2 React components for Chart.js, the most popular charting library 项目地址: https://gitcode.com/gh_mirrors/re/react-chartjs-2 React-chartjs-2 是Chart.js最流行…

AI生成高质量测试数据的秘诀

测试数据的智能化转型 在软件测试领域&#xff0c;高质量测试数据是确保应用稳定性和安全性的基石。传统手动数据生成方式常面临效率低下、覆盖面不足等挑战&#xff0c;而AI技术的引入&#xff0c;通过机器学习、生成对抗网络&#xff08;GAN&#xff09;和自然语言处理&…

玩转汽车电子神经系统:CAN总线协议实战指南

汽车/电动车 OBD 总线状态协议 车辆总线状态 ------------------------------------------------- 汽车can总线协议解析&#xff0c;各种车型都有&#xff0c;乘用车&#xff0c;电动车。 里程、车门、电量、油量、27认证服务解密、中控控制等。 全套都给你&#xff01; 另外补…

终极指南:使用DBeaver高效管理数据库的完整工作流程 [特殊字符]

终极指南&#xff1a;使用DBeaver高效管理数据库的完整工作流程 &#x1f680; 【免费下载链接】mapbox-studio-classic 项目地址: https://gitcode.com/gh_mirrors/ma/mapbox-studio-classic DBeaver是一款功能强大的开源数据库管理工具&#xff0c;支持多种数据库系统…

哪家公司实验室通风工程口碑好、可定制、技术先进?实验室整体施工哪个公司信誉好、有实力? - 品牌推荐大师1

在国家“双碳”战略深入推进与科研基础设施加速升级的背景下,现代化实验室已从传统的功能空间,演变为集安全、效率、智能、绿色于一体的高复杂度系统工程。其中,实验室通风工程作为保障人员健康、控制污染扩散、维持…

CotEditor完全开发指南:从零参与macOS文本编辑器开源项目

CotEditor完全开发指南&#xff1a;从零参与macOS文本编辑器开源项目 【免费下载链接】CotEditor Lightweight Plain-Text Editor for macOS 项目地址: https://gitcode.com/gh_mirrors/co/CotEditor CotEditor是一款专为macOS设计的轻量级纯文本编辑器&#xff0c;以其…

二分环图标做法

二分环图标做法1:建一个200*200, 150*150, 100*100的圆形三个在不同的图层上,再把150*150的图层再复制一个图层把前两个图层隐藏,按Ctrl在图层里选择下面两图层合并两图层,选择小黑鼠标选择两个形状,选择向左对齐…

写开源项目有什么好处,这篇文章告诉你!

工作过的小伙伴都知道,程序员的大部分时间都是在增删改查,或者调用组件,真正需要研发和创新的项目实在是太少了。尤其是入职外包公司,那简直和流水线没有什么区别。 说白了,程序员也是一颗螺丝钉。 简单的工作重复…

Simple Live:跨平台直播聚合工具的终极解决方案

Simple Live&#xff1a;跨平台直播聚合工具的终极解决方案 【免费下载链接】dart_simple_live 简简单单的看直播 项目地址: https://gitcode.com/GitHub_Trending/da/dart_simple_live 还在为切换不同直播平台而烦恼吗&#xff1f;今天我要为你推荐一款真正解决痛点的开…

动态数据合成的AI方法在软件测试中的应用与挑战

在软件测试领域&#xff0c;数据是驱动测试过程的核心要素。然而&#xff0c;测试数据的获取与管理长期面临诸多挑战&#xff1a;真实数据涉及隐私与合规风险、静态数据难以覆盖边缘场景、数据生成效率无法匹配敏捷开发节奏。传统解决方案如人工构造数据或基于规则生成&#xf…

2025年气体管道工程厂家权威推荐榜单:气路系统工程/特气管路工程/气体管道安装源头厂家精选 - 品牌推荐官

在现代半导体制造、生物医药研发、新能源材料生产及高端实验室等前沿领域,气体输送系统的洁净度、安全性与可靠性是保障工艺稳定与产品质量的生命线。根据行业估算,因气体管道系统污染、泄漏或压力不稳定导致的生产中…

某头部汽车金融以 KubeSphere 多集群支撑混合云合规治理与弹性扩展

在金融监管趋严、业务持续创新的背景下,国内某头部汽车金融公司需要在有限的硬件资源上,同时满足多环境隔离、合规要求与快速迭代的业务需求。借助 KubeSphere 容器平台与云易捷超融合平台,企业在约三个月内完成混合…

测试数据管理的自动化工具

被忽视的质量基石 在敏捷开发与持续交付成为主流的今天&#xff0c;测试数据管理&#xff08;TDM&#xff09;仍存在明显滞后性。据行业调研显示&#xff0c;超过67%的软件缺陷源于测试数据问题——数据污染、覆盖不全、环境差异等痛点直接拖累交付周期。本文通过解构自动化工…

python3 globals() 函数

python3 globals() 函数 globals().items() 是 Python 中一个非常有用的内置函数组合,用于获取当前全局命名空间中的所有变量和它们的值。 基本用法 # 定义一些全局变量 x = 10 y = "hello" z = [1, 2, 3]d…

自动化用户体验指标监控:提升软件测试的全新维度

随着数字化转型的加速&#xff0c;用户对软件产品的期望已从“能用”升级为“好用”。作为软件测试从业者&#xff0c;我们面临的挑战不再局限于发现代码漏洞&#xff0c;更需关注用户体验的量化管理。自动化用户体验指标监控通过数据驱动方法&#xff0c;将主观感受转化为客观…

Story-Adapter终极指南:5分钟快速上手长故事可视化工具

Story-Adapter终极指南&#xff1a;5分钟快速上手长故事可视化工具 【免费下载链接】story-adapter A Training-free Iterative Framework for Long Story Visualization 项目地址: https://gitcode.com/gh_mirrors/st/story-adapter Story-Adapter是一个革命性的无训练…

如何快速掌握MediaPipeUnityPlugin:Unity开发者的完整集成指南

如何快速掌握MediaPipeUnityPlugin&#xff1a;Unity开发者的完整集成指南 【免费下载链接】MediaPipeUnityPlugin Unity plugin to run MediaPipe 项目地址: https://gitcode.com/gh_mirrors/me/MediaPipeUnityPlugin 想要在Unity项目中轻松添加人脸检测、手势追踪等先…

15、Serverless应用框架与AWS Lambda用例全解析

Serverless应用框架与AWS Lambda用例全解析 1. Serverless框架使用建议与最佳实践 在使用Serverless框架时,有以下几个简单的建议: - 使用 sls deploy <functioname> : sls deploy 和 sls deploy <function_name> 有很大区别。 sls deploy 会从头开…

MultiHighlight插件5步进阶指南:从代码阅读小白到高亮大师

MultiHighlight插件5步进阶指南&#xff1a;从代码阅读小白到高亮大师 【免费下载链接】MultiHighlight Jetbrains IDE plugin: highlight identifiers with custom colors &#x1f3a8;&#x1f4a1; 项目地址: https://gitcode.com/gh_mirrors/mu/MultiHighlight 你是…

SQL必会必知整理-05-数据过滤

5.1组合WHERE子句操作符&#xff08;operator&#xff09;&#xff1a;用来联结或改变WHERE子句中的子句的关键字。也称为逻辑操作符&#xff08;logical operator&#xff09;。AND操作符&#xff1a;为了通过不止一个列进行过滤&#xff0c;可使用AND操作符给WHERE子句附加条…