Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk Mengeluarkan Aksara Tertentu daripada Rentetan dalam C?
Mengalih keluar Aksara Tertentu daripada Rentetan dalam C
Dalam senario pengaturcaraan di mana input pengguna mungkin mengandungi aksara yang tidak diingini yang perlu dialih keluar, seperti apabila mengumpul nombor telefon, persoalan timbul: Bagaimanakah kita boleh menghapuskan aksara ini dengan berkesan daripada rentetan dalam C ?
Fungsi rentetan terbina dalam seperti mengalih keluar, mencari dan menggantikan, walaupun berguna dalam situasi tertentu, mungkin tidak menyediakan kefungsian yang diingini semasa mengalih keluar aksara tertentu daripada rentetan berdasarkan kandungannya.
Penyelesaian terletak pada penggunaan fungsi std::remove daripada
Untuk menggunakan ini pada contoh kami mengalih keluar kurungan , sempang dan ruang daripada input nombor telefon, kita boleh mentakrifkan tatasusunan aksara yang mengandungi aksara ini:
char[] chars = "() -";
Melalui setiap aksara dalam tatasusunan, kami menggunakan std::remove ke rentetan nombor telefon:
for (unsigned int i = 0; i < strlen(chars); ++i) { str.erase(std::remove(str.begin(), str.end(), chars[i]), str.end()); }
Ini secara berkesan mengalih keluar semua kejadian aksara yang ditentukan daripada rentetan, dengan berkesan memberikan output yang diingini.
Untuk mempertingkatkan lagi penyelesaian, kefungsian boleh dirangkumkan menjadi boleh diguna semula fungsi:
void removeCharsFromString(string &str, char* charsToRemove) { for (unsigned int i = 0; i < strlen(charsToRemove); ++i) { str.erase(remove(str.begin(), str.end(), charsToRemove[i]), str.end()); } }
Kini, kita boleh menggunakan fungsi ini dengan mudah untuk mengalih keluar aksara yang tidak diingini daripada sebarang rentetan. Sebagai contoh, untuk mengalih keluar kurungan daripada nombor telefon:
removeCharsFromString(phone, "()");
Dengan menggunakan std::remove dan melaksanakannya dalam fungsi boleh guna semula, kami mempunyai penyelesaian yang cekap untuk mengalih keluar aksara tertentu daripada rentetan dalam C , menjadikan pemprosesan dan manipulasi data lebih mudah.
Atas ialah kandungan terperinci Bagaimana untuk Mengeluarkan Aksara Tertentu daripada Rentetan dalam C?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!