现在的位置: 首页 > 综合 > 正文

C++:如何删除string对象的末尾非数字字符

2016年06月24日 ⁄ 综合 ⁄ 共 300字 ⁄ 字号 评论关闭

功能实现:

现有一个string对象包含数字字符以及非数字字符,实现删除string对象的末尾非数字字符。

实例:

输入为“0 1 1 2 3    ”

输出为“0 1 1 2 3”

实现此功能使用的方法:

从string最后一个字符往前扫描,直到扫到第一个数字字符。使用string::erase()函数执行删除操作。

代码:

void erasePending(string &str)
{
    int index = str.size()-1;
    while(index!=-1)
    {   
        if (str[index] < '0' || str[index] > '9' )
        {   
            str.erase(index,1);
            index--;
        }   
        else
        {   
            break;
        }   
    }   
    return ;
}

抱歉!评论已关闭.