02/10/2018, 00:50
[C#] Hàm chuyển tiếng việt có dấu sang không dấu lập trình C#
Hôm nay, mình chia sẽ cho các bạn hàm chuyển tiếng việt có dấu sang tiếng việt không dấu trong lập trình C# . Để chuyển tiếng việt có dấu thành không dấu mình sẽ dùng hàm replace các ký tự có dấu tiếng việt thành không dấu. Ví dụ: á, à, ả, ã, ...
Hôm nay, mình chia sẽ cho các bạn hàm chuyển tiếng việt có dấu sang tiếng việt không dấu trong lập trình C#. Để chuyển tiếng việt có dấu thành không dấu mình sẽ dùng hàm replace các ký tự có dấu tiếng việt thành không dấu.
Ví dụ:
á, à, ả, ã, ạ => a
Á, À, Ả, Ã, Ạ => A
ê, ế, ề, ệ => e
Ê, Ế, Ế, Ệ => E
ư, ứ, ừ, ữ, ử, ự => u
....
Dưới đây là giao diện demo của ứng dụng:

Source code C#
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;
namespace RemoveUnicode
{
public partial class Form1 : Form
{
public Form1()
{
InitializeComponent();
}
private static readonly string[] VietnameseSigns = new string[]
{
"aAeEoOuUiIdDyY",
"áàạảãâấầậẩẫăắằặẳẵ",
"ÁÀẠẢÃÂẤẦẬẨẪĂẮẰẶẲẴ",
"éèẹẻẽêếềệểễ",
"ÉÈẸẺẼÊẾỀỆỂỄ",
"óòọỏõôốồộổỗơớờợởỡ",
"ÓÒỌỎÕÔỐỒỘỔỖƠỚỜỢỞỠ",
"úùụủũưứừựửữ",
"ÚÙỤỦŨƯỨỪỰỬỮ",
"íìịỉĩ",
"ÍÌỊỈĨ",
"đ",
"Đ",
"ýỳỵỷỹ",
"ÝỲỴỶỸ"
};
public static string RemoveSign4VietnameseString(string str)
{
//Tiến hành thay thế , lọc bỏ dấu cho chuỗi
for (int i = 1; i < VietnameseSigns.Length; i++)
{
for (int j = 0; j < VietnameseSigns[i].Length; j++)
str = str.Replace(VietnameseSigns[i][j], VietnameseSigns[0][i - 1]);
}
return str;
}
private void button1_Click(object sender, EventArgs e)
{
txtOutput.Text = RemoveSign4VietnameseString(txtInput.Text);
}
}
}
HAVE FUN :)