該程序讀取一個文件,如果用戶添加一個參數上限或下限,它將刪除全部大寫或全部小寫的單詞。刪除全部大寫/小寫的單詞。 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