当前位置: 首页 > news >正文

Rust-字符串

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.jsqmd.com/news/78227/

相关文章:

  • React-chartjs-2 数据集管理:3个关键问题与解决方案
  • 玩转汽车电子神经系统:CAN总线协议实战指南
  • 终极指南:使用DBeaver高效管理数据库的完整工作流程 [特殊字符]
  • 哪家公司实验室通风工程口碑好、可定制、技术先进?实验室整体施工哪个公司信誉好、有实力? - 品牌推荐大师1
  • 二分环图标做法
  • CotEditor完全开发指南:从零参与macOS文本编辑器开源项目
  • 写开源项目有什么好处,这篇文章告诉你!
  • Simple Live:跨平台直播聚合工具的终极解决方案
  • 动态数据合成的AI方法在软件测试中的应用与挑战
  • 2025年气体管道工程厂家权威推荐榜单:气路系统工程/特气管路工程/气体管道安装源头厂家精选 - 品牌推荐官
  • 某头部汽车金融以 KubeSphere 多集群支撑混合云合规治理与弹性扩展
  • 测试数据管理的自动化工具
  • python3 globals() 函数
  • 自动化用户体验指标监控:提升软件测试的全新维度
  • SQL必会必知整理-05-数据过滤
  • 2025年成都火锅必吃榜TOP10,大悦城回头客爆棚!牛肉火锅/酸汤火锅/市井火锅nbsp;/火锅外卖成都火锅聚餐地点推荐 - 品牌推荐师
  • 锂电小白进阶指南:1.5GB 资料大揭秘
  • 高校宿舍电气安全新防线:浅析电气防火限流式保护技术
  • 运维太苦了,别硬扛!转网安才是“越老越吃香”的破局路!
  • 国产 SerDes(02):锐泰微
  • VRM与VRChat模型互转终极指南:免费工具快速上手教程
  • 同道雅集:大湾区创业社群领导者 - 黑马榜单
  • WebPlotDigitizer终极安装指南:从图表图像一键提取数据的完整教程
  • 16、AWS Lambda:强大功能与应用案例深度解析
  • 如何科学选择“中医师承出师考试培训班”?阿虎医考上次怎么样? - 资讯焦点
  • Adobe Experience Manager 存储型XSS漏洞深度解析与缓解指南
  • 中医师承出师考试培训班哪家好?我总结了最值得报的阿虎医考师承 - 资讯焦点
  • NatTypeTester终极指南:快速检测网络NAT类型的完整解决方案
  • 2025年12月甘肃高考复读班机构TOP5优选指南-合规平台助力升学冲刺 - 深度智识库
  • 第50集科立分板机:科立分板机的精度和效率如何