Ich habe eine &Path
und ich muss den Dateinamen der endgültigen Komponente in zwei Teile am ersten Doppelpunkt aufteilen.Wie spalte ich die letzte Komponente eines & Pfades auf ein bestimmtes Zeichen?
Ich kann die letzte Komponente als &OsStr
() bekommen - aber dann bin ich ein bisschen fest auf tatsächlich etwas mit dem Inhalt. Die documentation gibt mir ein paar Optionen: (! Die nicht garantiert ist)
to_str()
oderto_string_lossy()
, die entweder nicht oder eine beschädigte Zeichenfolge zurückgeben, wenn es nicht UTF-8to_bytes()
oderto_cstring()
, aber sie‘ seit Rust 1.6 als veraltet markiert- Ganz unten sehe ich
impl OsStrExt
mit eineras_bytes()
Methode.OsStrExt
iststd::os::unix::ffi::OsStrExt
, die als "Unix-spezifische Erweiterungen zuOsStr
" beschrieben wird. std::os::unix ist jedoch anscheinend "Experimentelle Erweiterungen für Standard-Unix-Plattformen."
Habe ich etwas mehr Standard verpasst?
Wie es passiert, ich bin glücklich, auf Unix für diese Anwendung zu beschränken, so dass die OsStrExt::as_bytes
aussieht wie die beste Option für jetzt; Aber ist es wirklich noch experimentell oder ist die Dokumentation veraltet?
Was möchten Sie mit dem Inhalt tun (wie 'file_name')? – malbarbo
Ich mache Dinge mit Nachrichten in [Maildirs] (https://cr.yp.to/proto/maildir.html); Der Dateiname ist ein unspezifizierter eindeutiger Teil, gefolgt von "": "und einigen Flag-Zeichen. Ich möchte die Flaggen untersuchen oder modifizieren, ohne den einzigartigen Teil zu berühren. –
* ist es wirklich noch experimentell * - wenn es nicht 'unstable' ist, solltest du darauf zählen können, dass es für alle Rust 1.x existiert. – Shepmaster