#parameters #substitution #string #late #hash-map #name #substituting

已下架 late_substitution

字符串参数的晚替换

2 个稳定版本

1.0.1 2023年10月23日

#6 in #late

MIT/Apache

6KB

晚替换

此crate提供了一种简单的方法,用于在任意字符串中替换参数,其中参数名称是任意的。

这是使用复杂模板引擎的替代方案。

示例

use late_substitution::LateSubstitution;
use maplit::hashmap;

let user_string: String = "some user string: {id}".into();
assert_eq!(
    "some user string: x",
    user_string.late_substitution(hashmap!{"id".into() => "x".into()})
);

let user_string: String = r#"some user string: {"id"}"#.into();
assert_eq!(
    "some user string: id",
    user_string.late_substitution(hashmap!{"id".into() => "x".into()})
);

let user_string: String = r#"some user string: {  "id"  }"#.into();
assert_eq!(
    "some user string: id",
    user_string.late_substitution(hashmap!{"id".into() => "x".into()})
);

let user_string: String = "some user string: {id}".into();
assert_eq!(
    "some user string: None",
    user_string.late_substitution(hashmap!{})
);

依赖项

~2.5–4MB
~72K SLoC