Day-7:Learn about slices and string manipulation in Rust.

Play this article


String manipulation is a common task in many programming languages, and Rust provides powerful tools for working with strings efficiently and safely. In this article, we will explore slices and string manipulation in Rust, understanding how to manipulate and extract substrings, iterate over characters, and perform various string operations.

Understanding Slices in Rust:

A slice is a reference to a contiguous portion of a data structure, such as an array or a string. In Rust, slices are represented by the &str type for string slices. They provide a convenient and efficient way to work with substrings without needing to copy the entire string.

Creating and Manipulating Slices:

Let's start by looking at how to create and manipulate slices in Rust.

fn main() {
    let message = "Hello, World!";
    let slice = &message[7..12];
    println!("Slice: {}", slice); // Output: "World"

In the example above, we create a slice called slice by specifying the range [7..12] on the message string. This range represents the characters from index 7 to 11 (inclusive). The resulting slice contains the substring "World".

String Manipulation Operations:

Rust provides various methods and functions for manipulating strings. Let's explore a few commonly used operations:

  1. Length of a String:

    To get the length of a string, use the len() method:

fn main() {
    let message = "Hello, World!";
    let length = message.len();
    println!("Length: {}", length); // Output: 13
  1. Concatenation:

    Strings can be concatenated using the + operator or the format!() macro:

fn main() {
    let message1 = "Hello,";
    let message2 = " World!";
    let full_message = message1.to_owned() + message2;
    println!("Concatenated: {}", full_message); // Output: "Hello, World!"
  1. Splitting a String:

    To split a string into substrings based on a delimiter, use the split() method:

fn main() {
    let message = "Hello, World!";
    let parts: Vec<&str> = message.split(',').collect();
    println!("Parts: {:?}", parts); // Output: ["Hello", " World!"]
  1. Replacing Substrings:

    To replace occurrences of a substring within a string, use the replace() method:

fn main() {
    let message = "Hello, World!";
    let new_message = message.replace("World", "Rust");
    println!("New Message: {}", new_message); // Output: "Hello, Rust!"
  1. Iterating over Characters:

In Rust, strings are UTF-8 encoded, and iterating over the characters involves considering the Unicode complexity. You can iterate over characters using the chars() method:

fn main() {
    let message = "Hello, World!";
    for character in message.chars() {
        println!("{}", character);

This will print each character of the string individually, taking into account the proper Unicode representation.


Slices and string manipulation are essential tools in Rust for working with strings efficiently and effectively. Slices provide a convenient way to extract substrings without copying the entire string, while various string manipulation operations allow for concatenation, splitting, replacing, and iterating over characters.

By mastering these concepts and techniques, you can confidently handle string manipulation tasks and build robust applications in Rust. Explore the Rust documentation further to discover additional string manipulation methods and advanced features. Happy coding in Rust!

I hope this helps, you!!

More such articles:


If this article adds any value to you then please clap and comment.

Let’s connect on Stackoverflow, LinkedIn, & Twitter.

Did you find this article valuable?

Support techwasti by becoming a sponsor. Any amount is appreciated!