Rumah >pembangunan bahagian belakang >C++ >Bagaimana untuk mengalih keluar Aksara Tertentu daripada Rentetan dalam C?

Bagaimana untuk mengalih keluar Aksara Tertentu daripada Rentetan dalam C?

Patricia Arquette
Patricia Arquetteasal
2024-11-11 05:50:02546semak imbas

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;

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;

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());
  }
}

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

string phone = "(555) 555-5555";
removeCharsFromString(phone, "()-" );

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!

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