Saya ingin menghapus semua karakter khusus dari string. Karakter yang diizinkan adalah AZ (huruf besar atau kecil), angka (0-9), garis bawah (_), atau tanda titik (.).
Saya memiliki yang berikut, ini berfungsi tetapi saya curiga (saya tahu!) Itu tidak terlalu efisien:
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();
}
Apa cara paling efisien untuk melakukan ini? Seperti apa ekspresi reguler, dan bagaimana perbandingannya dengan manipulasi string normal?
String yang akan dibersihkan akan lebih pendek, biasanya antara 10 dan 30 karakter.