Slicing strings with ranges
In the Splitting strings recipe, we saw how to use a token (by default, a whitespace) to split a string and get a list of strings delimited by that token. What if we wish to get only a portion of the original string?
Getting ready
We will use IEx. Start it by entering iex
in the command line.
How to do it…
To slice a string using a range, follow these steps:
- Define a string:
iex(1)> my_string = "The quick brown fox jumps over the lazy dog" "The quick brown fox jumps over the lazy dog"
- Define two ranges:
iex(2)> my_range_one = 10..14 10..14 iex(3)> my_range_two = -27..-25 -27..-25
- Use the
String.slice/2
function to slice the original string usingmy_range_one
:iex(4)> String.slice(my_string, my_range_one) "brown"
- Use the
String.slice/2
function to slice the original string usingmy_range_two
:iex(4)> String.slice(my_string, my_range_two) "fox"
How it works…
The String.slice/2
function uses a range to determine...