#line-string #line #string #multiple #first-line

pure_lines

美化多行文本的工具

2个不稳定版本

0.2.0 2021年11月5日
0.1.0 2021年11月4日

9 in #line-string

MIT许可协议

8KB
91

pure_lines

美化多行文本的工具。

  • 删除空行
  • 删除最小缩进

问题

你需要什么字符串

hello
world

你以前需要做什么

let s = "hello
world";
println!("{}",s);

现在你可以做什么

let s = "
    hello
    world";
println!("{}",pure_lines::pure(s));

示例

基本示例

use pure_lines;

fn main(){
    let a = "
    hello
    world";
    println!("==============");
    println!("before:");
    println!("{}",&a);
    println!("==============");
    let s = pure_lines::pure(a);
    println!("after:");
    println!("{}",s);
    println!("==============");

    // Output:
    // ==============
    // before:
    //
    //     hello
    //     world
    // ==============
    // after:
    // hello
    // world
    // ==============
}

带前缀的示例

use pure_lines;

fn main(){
    let a = "
    hello
    world";
    println!("==============");
    println!("before:");
    println!("{}",&a);
    println!("==============");
    let s = pure_lines::pure_with(a,"> ");
    println!("after:");
    println!("{}",s);
    println!("==============");

    // Output:
    // ==============
    // before:
    //
    //     hello
    //     world
    // ==============
    // after:
    // > hello
    // > world
    // ==============
}

高级

如果你想让你的代码更快,可以使用quick特性。quick特性基于非空的第一行来删除缩进。

⚠注意:确保后续行的缩进必须大于第一行,否则你会丢失一些字符串。

你的Cargo.toml可能看起来像这样

[dependencies]
pure_lines = { version = "0.2.0", features = ["quick"] }

无运行时依赖