Rumah >pembangunan bahagian belakang >C++ >Bagaimanakah Saya Boleh Mengeluarkan Aksara Khusus atau Bukan Alfanumerik dengan Cekap daripada Rentetan C#?

Bagaimanakah Saya Boleh Mengeluarkan Aksara Khusus atau Bukan Alfanumerik dengan Cekap daripada Rentetan C#?

Susan Sarandon
Susan Sarandonasal
2025-01-14 14:42:43446semak imbas

How Can I Efficiently Remove Specific or Non-Alphanumeric Characters from a C# String?

Cara mengalih keluar aksara yang tidak diperlukan daripada rentetan C#

Dalam pelbagai senario pengaturcaraan, anda mungkin perlu mengalih keluar aksara tertentu daripada rentetan. Pertimbangkan contoh berikut:

Andaikan anda mempunyai rentetan: "Nama saya @is ,Wan.;';Wan". Anda mahu mengalih keluar aksara "@", ",", ".", ";" dan "'" daripada rentetan untuk mendapatkan "Nama saya Wan Wan".

Kaedah 1: Pemadaman berulang

Salah satu cara ialah dengan mengulangi setiap aksara dalam rentetan dan menggunakan kaedah Ganti untuk mengalih keluar aksara yang ditentukan. Begini cara anda boleh melakukannya:

<code class="language-csharp">var str = "My name @is ,Wan.;'; Wan";
var charsToRemove = new string[] { "@", ",", ".", ";", "'" };
foreach (var c in charsToRemove)
{
    str = str.Replace(c, string.Empty);
}</code>

Kaedah 2: Pemadaman berdasarkan ungkapan biasa

Sebagai alternatif, anda boleh menggunakan ungkapan biasa untuk mengalih keluar semua aksara bukan abjad. Berikut ialah kaedah yang lebih komprehensif yang akan mengalih keluar sebarang aksara yang bukan ruang, huruf atau nombor:

<code class="language-csharp">var str = "My name @is ,Wan.;'; Wan";
str = new string((from c in str
                  where char.IsWhiteSpace(c) || char.IsLetterOrDigit(c)
                  select c
       ).ToArray());</code>

Ini akan mendapat keputusan "Nama saya Wan Wan".

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Mengeluarkan Aksara Khusus atau Bukan Alfanumerik dengan Cekap daripada Rentetan 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