Cấp bậc tác giả:

DOTNET

Hàm chuyển đổi chuỗi ký tự có dấu thành không dấu C#.Net

Được viết bởi QuangIT ngày 13/08/2012 lúc 08:47 PM
Khi rewrite url, chúng ta thường thấy tiêu đề các bài viết được chuyển đổi thành chuỗi không dấu và dùng để làm địa chỉ truy cập vào bài viết, hàm sau được viết bằng C# và có chức năng như vậy.
  • 0
  • 5773

Hàm chuyển đổi chuỗi ký tự có dấu thành không dấu C#.Net


óm tắt: Khi rewrite url, chúng ta thường thấy tiêu đề các bài viết được chuyển đổi thành chuỗi không dấu và dùng để làm địa chỉ truy cập vào bài viết, hàm sau được viết bằng C# và có chức năng như vậy.



public static string ConvertToUnSign(string text) 
    {
        for (int i = 33; i < 48; i++)
        {
            text = text.Replace(((char)i).ToString(), "");
        }

        for (int i = 58; i < 65; i++)
        {
            text = text.Replace(((char)i).ToString(), "");
        }

        for (int i = 91; i < 97; i++)
        {
            text = text.Replace(((char)i).ToString(), "");
        }
         for (int i = 123; i < 127; i++)
        {
            text = text.Replace(((char)i).ToString(), "");
        }
        text = text.Replace(" ""-");
        Regex regex = new Regex(@"\p{IsCombiningDiacriticalMarks}+");
        string strFormD = text.Normalize(System.Text.NormalizationForm.FormD);
        return regex.Replace(strFormD, String.Empty).Replace('\u0111','d').Replace('\u0110''D');
    }

Hàm này dựa hoàn toàn vào mã ACSII của các ký tự đặc biệt (trừ ký tự cách trắng – space có mã ACSII là 32), sau đó remove các ký tự đó khỏi chuỗi, đối với các ký tự cách trắng thì replace thành dấu “-“. Tiếp theo là chuyển các ký tự có dấu thành không dấu.
Như vậy là chúng ta đã có một hàm chuyển đổi từ chuỗi có dấu thành không dấu chạy khá ổn rồi

Nguồn bài viết: Dngaz.com

BÌNH LUẬN BÀI VIẾT

Bài viết mới nhất

LIKE BOX

Bài viết được xem nhiều nhất

HỌC HTML