MST

星途 面试题库

面试题:Rust 字符串中替换指定子串的实现

在Rust中,给定一个字符串 `s` 和两个子串 `old_substring` 与 `new_substring`,要求编写一个函数,将字符串 `s` 中所有出现的 `old_substring` 替换为 `new_substring` 并返回新的字符串。请给出实现代码,并简要说明涉及到的Rust字符串处理特性。
25.9万 热度难度
编程语言Rust

知识考点

AI 面试

面试题答案

一键面试
fn replace_substring(s: &str, old_substring: &str, new_substring: &str) -> String {
    s.replace(old_substring, new_substring)
}

Rust字符串处理特性说明:

  1. 字符串类型:Rust中有两种主要的字符串类型,&str 是字符串切片,代表不可变的字符串引用,它通常是字符串字面量的类型。这里函数的参数使用 &str 类型,因为它们不需要拥有字符串的所有权,只是借用字符串内容。
  2. replace 方法&str 类型提供了 replace 方法,该方法接收两个参数,第一个是要被替换的子串,第二个是用于替换的新子串。replace 方法会遍历原字符串,查找所有匹配的子串并进行替换,最后返回一个新的 String 类型字符串。这体现了Rust字符串操作的不可变性,原字符串不会被修改,而是返回一个新的字符串。