Bersihkan aksara haram dalam laluan fail dan nama fail
Dalam pengaturcaraan, bekerja dengan laluan fail dan nama fail selalunya memerlukan memastikan ia mematuhi set aksara yang sah untuk mengelakkan ralat atau isu keserasian. Ini termasuk mengalih keluar aksara haram. Mari kita terokai penyelesaian yang berkesan.
Coretan kod yang disediakan dalam soalan asal cuba mengalih keluar laluan haram dan aksara fail menggunakan kaedah Trim(). Walau bagaimanapun, ia gagal melakukan ini kerana Trim() hanya beroperasi pada ruang putih terkemuka dan mengekori. Untuk mengalih keluar aksara yang diperlukan kita perlu menggunakan kaedah GetInvalidFileNameChars() dan GetInvalidPathChars().
Berikut adalah penyelesaian untuk masalah ini:
public string RemoveInvalidChars(string path) { // 移除非法的文件字符 path = string.Join("", path.Split(Path.GetInvalidFileNameChars(), StringSplitOptions.RemoveEmptyEntries)); // 移除非法的路径字符 path = string.Join("", path.Split(Path.GetInvalidPathChars(), StringSplitOptions.RemoveEmptyEntries)); return path; }
Kaedah ini mengambil laluan sebagai input dan mengalih keluar aksara haram dengan membelah rentetan pada titik ini. Ia berkesan mengalih keluar aksara tidak sah, menghasilkan laluan yang dibersihkan.
Sebagai alternatif, anda boleh memilih untuk menggantikan aksara haram dan bukannya mengalih keluarnya. Berikut ialah satu cara untuk melakukannya:
public string ReplaceInvalidChars(string path) { path = string.Join("_", path.Split(Path.GetInvalidFileNameChars(), StringSplitOptions.RemoveEmptyEntries)); path = string.Join("_", path.Split(Path.GetInvalidPathChars(), StringSplitOptions.RemoveEmptyEntries)); return path; }
Dalam kaedah ini, kami membahagikan rentetan tempat aksara haram berlaku dan menggantikannya dengan garis bawah. Ini memastikan bahawa rentetan tidak lagi mengandungi aksara yang menyalahi undang-undang sambil kekal boleh dibaca.
Kedua-dua kaedah menyediakan cara yang boleh dipercayai dan cekap untuk mengendalikan aksara haram dalam laluan dan nama fail, memastikan ia sah dan serasi dengan sistem pengendalian dan aplikasi.
Atas ialah kandungan terperinci Bagaimana Mengeluarkan atau Menggantikan Aksara Haram dalam Laluan Fail dan Nama Fail dengan Berkesan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!