Dalam banyak aplikasi, perlu mengalih keluar aksara khas daripada rentetan. Pelbagai pendekatan boleh menyelesaikan tugas ini, tetapi menentukan kaedah yang paling cekap adalah penting untuk prestasi optimum.
Satu kaedah yang biasa digunakan melibatkan lelaran melalui rentetan dan menyemak setiap aksara terhadap set aksara yang dibenarkan. Pendekatan ini adalah mudah dan agak cekap, seperti yang ditunjukkan dalam kod berikut:
public static string RemoveSpecialCharacters(string str) { StringBuilder sb = new StringBuilder(); for (int i = 0; i < str.Length; i++) { if ((str[i] >= '0' && str[i] <= '9') || (str[i] >= 'A' && str[i] <= 'z' || (str[i] == '.' || str[i] == '_'))) { sb.Append(str[i]); } } return sb.ToString(); }
Walau bagaimanapun, adalah mungkin untuk meningkatkan lagi kecekapan kaedah ini dengan menggunakan pembolehubah tempatan untuk menyimpan aksara yang diperiksa atau oleh menyenaraikan aksara rentetan.
public static string RemoveSpecialCharacters(this string str) { StringBuilder sb = new StringBuilder(); foreach (char c in str) { if ((c >= '0' && c <= '9') || (c >= 'A' && c <= 'Z') || (c >= 'a' && c <= 'z') || c == '.' || c == '_') { sb.Append(c); } } return sb.ToString(); }
Pendekatan lain melibatkan penggunaan ungkapan biasa. Walaupun ungkapan biasa menawarkan cara ringkas dan berkuasa untuk melakukan padanan corak, ia mungkin kurang cekap berbanding manipulasi rentetan, terutamanya untuk rentetan pendek.
public static string RemoveSpecialCharactersRegex(string str) { return Regex.Replace(str, "[^A-Za-z0-9._]", ""); }
Ujian prestasi mendedahkan bahawa kaedah manipulasi rentetan jauh lebih pantas daripada ungkapan biasa untuk rentetan pendek.
Bagi rentetan besar, walau bagaimanapun, ungkapan biasa mungkin mengatasi manipulasi rentetan kerana keupayaannya mengendalikan corak yang kompleks dengan cekap. Walau bagaimanapun, untuk tugas khusus mengalih keluar aksara khas daripada rentetan pendek, manipulasi rentetan kekal sebagai pendekatan pilihan kerana kesederhanaan dan kecekapannya. Ia juga membenarkan penyesuaian mudah berdasarkan aksara tertentu yang dibenarkan.
Atas ialah kandungan terperinci Apakah Kaedah Paling Cekap untuk Mengeluarkan Aksara Khas daripada Rentetan?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!