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

如何通过&str切片获取其在原String中的起始和结束位置?

能否通过&str切片获取其在原String中的起止位置?

不行,仅靠&str切片本身没法获取它在原String里的起始和结束位置。

&str是个胖指针,只包含两个核心信息:指向字符串底层字节的指针,以及切片的字节长度。它不会记录自己源自哪个原String,也没保存相对于原字符串的偏移数据。

拿你给的代码举例:

let original_string = String::from("Hello, world!");
let slice: &str = &original_string[0..5];

这里的slice只知道自己指向的是"Hello"的字节数据,长度是5,但对这些字节在original_string里的位置完全没概念。

如果需要跟踪切片在原字符串中的位置,得自己额外保存相关信息——比如创建切片时就把起止索引存好,或者用自定义结构体把切片和对应的位置绑定在一起。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.06 23:28:10