怎么样去掉string对象中的标点符号?

来源:百度知道 编辑:UC知道 时间:2024/06/01 12:18:24
输入一个string对象,要包含有标点符号。
然后去掉string对象中的标点符号。
最后把string输出。
请大虾们帮下忙。
请各位用C++的语法写好不.

string a = "...";
string tokens = "...";

for(size_t i = 0; i < a.size(); ++i)
if(tokens.find(a[i]) != string::npos)
a.erase(i,1);

如果string是标准字符数组(即char[]),那么可以使用C标准库中的strtoc()函数来操作,具体代码如下。当然,如果string是C++中STL里的string对象,则可以先将其转化为标准字符数组(char[]),然后再按以下代码操作。

代码:

#include <string.h>
#include <stdio.h>

char string[] = "A string\tof ,,tokens\nand some more tokens";
char seps[] = " ,\t\n";
char *token;

void main( void )
{
printf( "%s\n\nTokens:\n", string );
/* Establish string and get the first token: */
token = strtok( string, seps );
while( token != NULL )
{
/* While there are tokens in "string" */
printf( " %s\n", token );
/* Get next token: */
token = strtok( NULL, sep