Bagaimana untuk mengalih keluar Aksara Tertentu daripada Rentetan dalam C?

Patricia Arquette
Lepaskan: 2024-11-11 05:50:02
asal
436 orang telah melayarinya

How to Remove Specific Characters from Strings in C  ?

Mengalih keluar Aksara Tertentu daripada Rentetan dalam C

Banyak aplikasi memerlukan memanipulasi input pengguna dan mengalih keluar aksara yang tidak diingini daripada rentetan adalah tugas biasa. Artikel ini membincangkan cara untuk mencapai tugas ini dengan cekap dalam C .

Pernyataan Masalah:

Pertimbangkan senario di mana pengguna memasukkan nombor telefon:

cout << "Enter phone number: ";
string phone;
cin >> phone;
Salin selepas log masuk

Input mentah mungkin mengandungi aksara tambahan seperti kurungan dan sempang: "(555) 555-5555". Matlamatnya adalah untuk mengalih keluar aksara ini untuk mendapatkan rentetan angka yang bersih.

Penyelesaian:

C Standard Library menyediakan kaedah yang mudah untuk mencapai matlamat ini. Algoritma std::remove berulang melalui rentetan dan mengalih keluar contoh aksara tertentu. Walau bagaimanapun, ia tidak mengubah suai secara langsung rentetan asal.

string str("(555) 555-5555");

char charsToRemove[] = "()-";  // Characters to be removed

for (unsigned int i = 0; i < strlen(charsToRemove); ++i) {
  str.erase(std::remove(str.begin(), str.end(), charsToRemove[i]), str.end());
}

// Output: 555 5555555
cout << str << endl;
Salin selepas log masuk

Pendekatan Berasaskan Fungsi:

Untuk kemudahan penggunaan, anda boleh menentukan fungsi yang memerlukan rentetan dan tatasusunan aksara sebagai input dan melaksanakan penyingkiran aksara:

void removeCharsFromString(string &amp;str, char* charsToRemove) {
  for (unsigned int i = 0; i < strlen(charsToRemove); ++i) {
    str.erase(std::remove(str.begin(), str.end(), charsToRemove[i]), str.end());
  }
}
Salin selepas log masuk

Fungsi ini kemudiannya boleh dipanggil dengan rentetan yang dikehendaki untuk mengalih keluar aksara tertentu. Contohnya:

string phone = "(555) 555-5555";
removeCharsFromString(phone, "()-" );
Salin selepas log masuk

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

sumber:php.cn
Kenyataan Laman Web ini
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
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan