Nasıl bir dizeden karakterleri kaldırmak için | Netgez.com
SORU
5 Mayıs 2011, PERŞEMBE


Nasıl bir dizeden karakterleri kaldırmak için

Örneğin bir kullanıcı bir telefon numarası girişi var.

cout << "Enter phone number: ";
INPUT: (555) 555-5555
cin >> phone;

Bu kaldırmak istiyorum "(", ")", ve "-" dize karakterleri. Dize çıkarın ve fonksiyonları Bul ve değiştir ancak sadece pozisyona bağlı olarak çalışıyorlar bakın baktım.

Orada bir karakter geçmek için kullanabileceğiniz bir dize işlevi, "" örneğin, bir string içindeki tüm örneklerini kaldırın. (

Zaman ayırdığınız için teşekkür ederim.

CEVAP
5 Mayıs 2011, PERŞEMBE


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

   char chars[] = "()-";

   for (unsigned int i = 0; i < strlen(chars);   i)
   {
      // you need include <algorithm> to use general algorithms like std::remove()
      str.erase (std::remove(str.begin(), str.end(), chars[i]), str.end());
   }

   // output: 555 5555555
   cout << str << endl;

Olarak kullanınişlevi:

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() );
   }
}
//example of usage:
removeCharsFromString( str, "()-" );

Bunu PaylaÅŸ:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VÄ°DEO

Rastgele Yazarlar

  • Jonathan Flavell

    Jonathan Fla

    1 HAZÄ°RAN 2006
  • Rozetked | Обзоры

    Rozetked | Ð

    5 AÄžUSTOS 2011
  • TimMinchinLive

    TimMinchinLi

    23 ÅžUBAT 2009