Mengendalikan Aksara Tidak Sah dalam Laluan Fail dan Nama
Artikel ini menangani cabaran mengalih keluar atau menggantikan aksara tidak sah dengan pasti dalam laluan fail dan nama fail. Penyelesaian yang dicadangkan sebelum ini menggunakan kaedah Trim
terbukti tidak mencukupi. Perkara utama ialah memanipulasi rentetan secara aktif untuk mencapai hasil yang diingini.
Kaedah 1: Mengalih Keluar Aksara Tidak Sah
Pendekatan mudah melibatkan pemisahan rentetan pada setiap aksara yang tidak sah dan kemudian menggabungkan bahagian yang tinggal:
<code class="language-csharp">public string RemoveInvalidChars(string filename) { return string.Concat(filename.Split(Path.GetInvalidFileNameChars())); }</code>
Kaedah ini secara berkesan menghapuskan sebarang aksara yang dikenal pasti sebagai tidak sah oleh Path.GetInvalidFileNameChars()
.
Kaedah 2: Menggantikan Aksara Tidak Sah
Untuk senario yang mengekalkan struktur rentetan asal adalah penting, menggantikan aksara yang tidak sah dengan pengganti yang sesuai (cth., garis bawah) adalah lebih baik:
<code class="language-csharp">public string ReplaceInvalidChars(string filename) { return string.Join("_", filename.Split(Path.GetInvalidFileNameChars())); }</code>
Pendekatan ini memisahkan rentetan pada aksara yang tidak sah dan menyertai semula segmen menggunakan garis bawah sebagai pengganti, memastikan keseluruhan nama fail atau laluan kekal utuh. Ini amat berguna apabila berurusan dengan nama fail yang dibekalkan pengguna.
Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengalih Keluar atau Menggantikan Aksara Tidak Sah dalam Laluan dan Nama Fail dengan Amanah?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!