我如何在不使用scanf()的标点的情况下读取字符串?

问题描述 投票:0回答:1

我写了这段代码,但它不能避免标点符号。

   string str;
   char ch[100];
   while(scanf("%s[a-z | A-Z ]",ch)!=EOF) 
   {
        str=ch;
        cout<<str<<endl;
   }

当我输入以下内容时:

 road.sign read:
 went home.

它显示以下输出:

road.
sign
read:
went
home.

有什么方法可以改进此代码以打印不带标点的单词吗?

c++ string input scanf
1个回答
1
投票
一种解决方案可以存储整个句子,然后使用正则表达式替换来删除标点符号。
© www.soinside.com 2019 - 2024. All rights reserved.