< 返回版块

WingDust 发表于 2021-12-27 18:33

#[test]
fn v(){
  // let p = Path::new("G:/Feature film/副本 - 副本 - 副本.mp4");
  let p = Path::new("G:\\Feature film\\副本 - 副本 - 副本.mp4");
  let pb = Box::<Path>::from(p);
  println!("{}",pb.ends_with("mp4")); //false
}

为什么是 false 呀?

评论区

写评论
Neutron3529 2021-12-27 22:53

都上Path了,为什么还手写分隔符呢?

cyh0 2021-12-27 21:25

先看文档,不行google,最后再来论坛问。

viruscamp 2021-12-27 19:17

看文档 https://doc.rust-lang.org/std/path/struct.Path.html#method.ends_with

这是 Path 的 ends_with ,不是 str 的 ends_with。有这么句话Only considers whole path components to match.

// 例子也说了
assert!(!path.ends_with("conf")); // use .extension() instead
1 共 3 条评论, 1 页