You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

为什么Rust在Windows下输出路径会转义反斜杠?如何去除额外反斜杠?

问题原因

你遇到的双反斜杠问题完全是输出格式化符号选择错误导致的,和Path::new的输入方式无关:

  • 你使用的{:?}是Debug格式化符,设计目的是给开发者调试用,会自动对字符串中的转义字符做转义显示,所以反斜杠会被打印为双反斜杠。

解决方法

Rust的Path类型内置了专门用于用户友好展示的display()方法,该方法返回的结构体实现了Display trait,输出时会自动适配当前平台的路径分隔符,且不会额外添加转义字符。
你只需要把输出代码修改为如下即可:

println!("{}", Path::new("c:\\windows\\").display());

使用原始字符串输入也可以正常输出:

println!("{}", Path::new(r"c:\windows\").display());

修改后Windows平台会直接输出c:\windows\,用户复制后即可直接使用,Linux平台也会保持正斜杠的正常输出格式,完全满足跨平台需求。

内容的提问来源于stack exchange,提问作者raddevus

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.25 21:27:04