konst::string

Function str_range

Source
pub const fn str_range(string: &str, start: usize, end: usize) -> &str
Expand description

A const equivalent of &string[start..end].

If start >= end or string.len() < start , this returns an empty string.

If string.len() < end, this returns the string from start.

§Alternatives

For a const equivalent of &string[start..] there’s str_from.

For a const equivalent of &string[..end] there’s str_up_to.

§Panics

This function panics if either start or end are inside the string and don’t fall on a char boundary.

§Example

use konst::string::str_range;

const STR: &str = "foo bar baz";

const SUB0: &str = str_range(STR, 0, 3);
assert_eq!(SUB0, "foo");

const SUB1: &str = str_range(STR, 0, 7);
assert_eq!(SUB1, "foo bar");

const SUB2: &str = str_range(STR, 4, 11);
assert_eq!(SUB2, "bar baz");

const SUB3: &str = str_range(STR, 0, 1000);
assert_eq!(SUB3, STR);