Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengeluarkan Aksara Bukan ASCII daripada Rentetan dalam C#?

Bagaimana untuk Mengeluarkan Aksara Bukan ASCII daripada Rentetan dalam C#?

Susan Sarandon
Susan Sarandonasal
2025-01-19 13:33:09324semak imbas

How to Remove Non-ASCII Characters from a String in C#?

Mengalih keluar Aksara Bukan ASCII dengan Cekap daripada Rentetan C#

Pemprosesan dan pengesahan data kerap memerlukan pengalihan keluar aksara bukan ASCII daripada rentetan. Artikel ini menunjukkan kaedah C# ringkas menggunakan ungkapan biasa untuk menyelesaikan tugas ini.

Penyelesaian Ungkapan Biasa

Coretan kod berikut menggunakan ungkapan biasa untuk mengalih keluar semua aksara bukan ASCII:

<code class="language-csharp">string s = "søme string";
s = Regex.Replace(s, @"[^\u0000-\u007F]+", string.Empty);</code>

Regex.Replace menggantikan semua kemunculan corak dengan rentetan kosong, dengan berkesan memadamkan aksara bukan ASCII. Jom analisa corak:

  • ^: Pengendali penolakan, menyongsangkan perlawanan.
  • u####-u####: Menentukan julat titik kod Unikod. u0000-u007F mentakrifkan julat ASCII.
  • : Memadankan satu atau lebih kejadian kelas aksara sebelumnya.

Corak ini menyasarkan dan mengalih keluar semua aksara dengan tepat di luar julat ASCII.

Diterangkan Regex

Ungkapan biasa boleh dipecahkan lagi:

  • [u0000-u007F] : Memadankan satu atau lebih aksara ASCII.
  • [^...]: Tanda kurung segi empat dengan tanda karet utama (^) mencipta kelas aksara yang dinafikan, memilih aksara di luar julat yang ditentukan.
  • string.Empty: Rentetan gantian; dalam kes ini, rentetan kosong, mengalih keluar aksara yang dipadankan.

Ungkapan biasa ini menyediakan cara yang bersih dan cekap untuk menapis rentetan, hanya meninggalkan aksara ASCII.

Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Aksara Bukan ASCII daripada Rentetan dalam C#?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn