yy 发帖数: 45 | 1 请问如果有一个string
是 "XXXX.txt"
请问如何得到一个新的string = "XXXX"
也就是是说, 能不能把keyword .txt 从 XXXX.txt 中
erase 掉, 当然, 如果哪个function 可以delete particular
substring from a string with (begin,end) also works.
Thanks |
g****c 发帖数: 299 | 2 Basic String Handling Functions
All the string handling functions are prototyped in:
#include
The common functions are described below:
char *stpcpy (const char *dest,const char *src) -- Copy one string into
another.
int strcmp(const char *string1,const char *string2) - Compare string1 and
string2 to determine alphabetic order.
char *strcpy(const char *string1,const char *string2) -- Copy string2 to
stringl.
char *strerror(int errnum) -- Get error message corresponding to specified
er
【在 yy 的大作中提到】 : 请问如果有一个string : 是 "XXXX.txt" : 请问如何得到一个新的string = "XXXX" : 也就是是说, 能不能把keyword .txt 从 XXXX.txt 中 : erase 掉, 当然, 如果哪个function 可以delete particular : substring from a string with (begin,end) also works. : Thanks
|
p***o 发帖数: 1252 | 3 or std::string::substr ;) |
f********r 发帖数: 50 | 4 要使perl就很简单了
$string =~ s/(.*)\.txt$/$1/
c里好像也有一个regular expression的库函数
regex.h,不过似乎不太好用,你可以看看
【在 yy 的大作中提到】 : 请问如果有一个string : 是 "XXXX.txt" : 请问如何得到一个新的string = "XXXX" : 也就是是说, 能不能把keyword .txt 从 XXXX.txt 中 : erase 掉, 当然, 如果哪个function 可以delete particular : substring from a string with (begin,end) also works. : Thanks
|
f********r 发帖数: 50 | 5 写了个小程序,应该能做这个工作
但是可能还有些bug
在此炮砖引玉了
#include
#include
using namespace std;
int main()
{
string a="test.txt";
string key=".txt";
string::size_type pos=a.rfind(key);
if ( pos!=string::npos)
{
a.erase(pos);
}
cout<< a<
return 0;
}
【在 yy 的大作中提到】 : 请问如果有一个string : 是 "XXXX.txt" : 请问如何得到一个新的string = "XXXX" : 也就是是说, 能不能把keyword .txt 从 XXXX.txt 中 : erase 掉, 当然, 如果哪个function 可以delete particular : substring from a string with (begin,end) also works. : Thanks
|