#file-path #path-processing #path-trimming #path-manipulation #path-utils

pathtrim

该crate实现了在实现了AsRef<std::path::Path>的任何东西上TrimmablePath trait,因此您可以轻松地获取路径的最后*n*部分。

8个稳定版本

2.0.0 2023年6月24日
1.0.6 2021年12月10日
1.0.1 2021年12月9日

383文件系统

每月30次下载

MIT/Apache

12KB
106 代码行

pathtrim

pathtrim 是一个简单而强大的 Rust 库,它可以帮助您获取文件系统路径的最后 n 部分。它提供了一个无缝的方式来跨平台处理路径,是需要在 Unix、macOS 和 Windows 等不同系统上运行的项目的一个很好的选择。

使用 pathtrim,您获得了一个干净直观的 API 来处理路径裁剪,开箱即用的跨平台支持,以及 Rust 的功能和生态系统带来的强大安全保证。

Crates.io Crates.io (Downloads) Continuous integration Docs.rs

💡 特性

  • 只需一行代码即可获取路径的最后 n 个组件。
  • 跨平台:在 Unix、macOS 和 Windows 上无缝工作。
  • 基于强大的 std::path 模块。
  • 高度可配置,具有简单易懂的 API。

🚀 入门

将其添加到您的 Cargo.toml

[dependencies]
pathtrim = "0.2.0"

然后导入您要使用该特质的文件中的特质

use std::path::Path;
use pathtrim::TrimmablePath;

示例

基本用法

use std::path::Path;
use pathtrim::TrimmablePath;

let path = Path::new("/usr/local/bin/application");
let trimmed = path.trim_to_nth(2).unwrap();
assert_eq!(trimmed.to_str().unwrap(), "bin/application");

不同平台

Unix

use std::path::Path;
use pathtrim::TrimmablePath;
let path = Path::new("/usr/local/bin/application");
let trimmed = path.trim_to_nth(3).unwrap();
assert_eq!(trimmed.to_str().unwrap(), "local/bin/application");

Windows

use std::path::Path;
use pathtrim::TrimmablePath;
let path = Path::new(r"C:\Program Files\package\bin\application");
let trimmed = path.trim_to_nth(2).unwrap();
assert_eq!(trimmed.to_str().unwrap(), r"bin\application");

边缘情况

use std::path::Path;
use pathtrim::TrimmablePath;
let path = Path::new("/");
let trimmed = path.trim_to_nth(1);
assert!(trimmed.is_none());

📚 更多阅读

要深入了解路径组件和相关 API,请参阅官方 Rust 文档

许可

本项目采用 MIT 许可证

无运行时依赖