本文简要介绍rust语言中 std::path::Path.strip_prefix
的用法。
用法
pub fn strip_prefix<P>(&self, base: P) -> Result<&Path, StripPrefixError> where P: AsRef<Path>,
返回一个路径,当加入 base
时,会产生 self
。
错误
如果 base
不是 self
的前缀(即 starts_with
返回 false
),则返回 Err
。
例子
use std::path::{Path, PathBuf};
let path = Path::new("/test/haha/foo.txt");
assert_eq!(path.strip_prefix("/"), Ok(Path::new("test/haha/foo.txt")));
assert_eq!(path.strip_prefix("/test"), Ok(Path::new("haha/foo.txt")));
assert_eq!(path.strip_prefix("/test/"), Ok(Path::new("haha/foo.txt")));
assert_eq!(path.strip_prefix("/test/haha/foo.txt"), Ok(Path::new("")));
assert_eq!(path.strip_prefix("/test/haha/foo.txt/"), Ok(Path::new("")));
assert!(path.strip_prefix("test").is_err());
assert!(path.strip_prefix("/haha").is_err());
let prefix = PathBuf::from("/test/");
assert_eq!(path.strip_prefix(prefix), Ok(Path::new("haha/foo.txt")));
相关用法
- Rust Path.starts_with用法及代码示例
- Rust Path.symlink_metadata用法及代码示例
- Rust Path.components用法及代码示例
- Rust Path.is_symlink用法及代码示例
- Rust Path.canonicalize用法及代码示例
- Rust Path.is_relative用法及代码示例
- Rust Path.file_stem用法及代码示例
- Rust Path.to_string_lossy用法及代码示例
- Rust Path.display用法及代码示例
- Rust Path.ancestors用法及代码示例
- Rust Path.is_dir用法及代码示例
- Rust Path.file_prefix用法及代码示例
- Rust Path.exists用法及代码示例
- Rust Path.read_link用法及代码示例
- Rust Path.parent用法及代码示例
- Rust Path.is_absolute用法及代码示例
- Rust Path.new用法及代码示例
- Rust Path.file_name用法及代码示例
- Rust Path.join用法及代码示例
- Rust Path.to_path_buf用法及代码示例
- Rust Path.is_file用法及代码示例
- Rust Path.try_exists用法及代码示例
- Rust Path.extension用法及代码示例
- Rust Path.has_root用法及代码示例
- Rust Path.with_file_name用法及代码示例
注:本文由纯净天空筛选整理自rust-lang.org大神的英文原创作品 std::path::Path.strip_prefix。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。