PDA

View Full Version : سوال: رشته در C++



ierfan
یک شنبه 17 خرداد 1394, 13:28 عصر
با سلام خدمت دوستان
یک سوال داشتم ممنون میشم کمکم کنید

می خواستم برنامه ای بنویسم که یک رشته بگیرد و اگر داخل رشته عددی بود آن را حذف کند
مثلا وارد می کنیم ir821an در خروجی به ما بدهد iran

هر چی تلاش کردم نشد !! ممنون میشم کمک کنید.

ehsan_faal
یک شنبه 17 خرداد 1394, 21:55 عصر
سلام.اگه همون تلاشهایی که میگید کردید و به نتیجه نرسیدید رو میذاشتید خیلی بهتر بود.
به هر حال من اینو نوشتم :

#include <iostream>
#include <cstring>
using namespace std;
void removeNumbers(char*);
int main()
{
char myString[]="Eh021s54a98n";
cout<<"Before: "<<myString<<endl;
removeNumbers(myString);
cout<<"After: "<<myString<<endl;
return 0;
}
void removeNumbers(char *input)
{
char *stringHolder=new char[strlen(input)+1];
char *inputHolder=input,*Temp=stringHolder;
size_t Index=0;
while(*input!=0)
{
if(!isdigit(*input))
{
*stringHolder=*input;
stringHolder++;
input++;
Index++;
continue;
}
input++;
}
strncpy(inputHolder,Temp,Index);
inputHolder[Index]=0;
delete[] stringHolder;
}

rahnema1
یک شنبه 17 خرداد 1394, 22:23 عصر
سلام
این هم با استفاده از کلاسهای آماده

#include <iostream>
#include <string>
#include <regex>
using namespace std;
int main ()
{
string str = regex_replace ("ir821an", regex("\\d+"), "");
std::cout << str;
return 0;
}