#env-var #windows #string-formatting #string #environment #formatting #batch

expand_str

ExpandEnvironmentStrings-like function and string formatting utility

2 releases

0.1.1 Jun 18, 2020
0.1.0 Oct 15, 2019

#61 in #batch

Download history 118/week @ 2024-07-27 133/week @ 2024-08-03 77/week @ 2024-08-10 200/week @ 2024-08-17 173/week @ 2024-08-24 438/week @ 2024-08-31 217/week @ 2024-09-07 184/week @ 2024-09-14 246/week @ 2024-09-21 111/week @ 2024-09-28 102/week @ 2024-10-05 146/week @ 2024-10-12 160/week @ 2024-10-19 125/week @ 2024-10-26 229/week @ 2024-11-02 60/week @ 2024-11-09

598 downloads per month
Used in path-cleaner

WTFPL license

11KB
206 lines

expand_str

ExpandEnvironmentStrings emulation with more strict input checking and a way to substitute your own variable values.

Example

Add expand_str to your dependencies of your Cargo.toml:

[dependencies]
expand_str = "0.1"

And then, in your rust file:


fn main() {
    println!("{}", expand_str::expand_string_with_env("This is what's in your PATH: %PATH%").unwrap());
}

If you only want string formatting, environment variable access code can be dropped, e.g.:

[dependencies.expand_str]
version = "0.1"
default-features = false

(Exact feature name is env, but there are no other features at the moment).

Formatting-only example:

fn main() {
    let values = {
        let mut values = HashMap::new();
        values.insert("DRINK", "cup of tea");
        values.insert("FOOD", "cookies");
        values
    };

    let src = "Here is a %DRINK% and some %FOOD%.";
    let x = expand_string_with_values(src, |id| values.get(id)).unwrap();
    println!("{}", x);
}

No runtime deps

Features