该程序读取一个文件,如果用户添加一个参数上限或下限,它将删除全部大写或全部小写的单词。删除全部大写/小写的单词。 C++
即。 “Hello World ....你好世界....你好世界”
'upper word'会输出“Hello World .... .... hello world”
'lower word'would output“Hello世界....你好世界....“
截至目前为止我的代码确实脱掉了大写字母,但假定只有在下面的字符不是大写字母时才会断开循环。
问题是,如果它的字符串像“AABBaabb”那么程序应该忽略它,因为存在大小写混合。相反,它会打印“Baabb”。
这是函数。
for (int i = 0; i < copyText.length(); i++)
{
if (!ispunct(copyText[i]) || !isspace(copyText[i]))
{
while (isupper(copyText[i]) || isdigit(copyText[i]))
{
if (islower(copyText[i + 1]))
{
break;
}
else
copyText.erase(copyText.begin() + i);
}
}
}
我不明白示例输入和预期输出。 –
哦,对不起。这只是该计划的一部分。还有其他功能。 copyText是txt文件(它是输入)的副本,输出在最后是一个cout。所以它不会直接改变txt文件,只是临时的copyText。 – Nate
'std :: regex_replace(copyText,std :: regex {“\\ b [AZ] * \\ b”},“”);' – user657267