屏蔽词
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
题目描述
聊天室要对一个屏蔽词做过滤。给出一行文字 和一个屏蔽词 ,请把 中出现的 全部替换成同样个数的星号 *。
替换的规则是:从 的开头开始从左往右找 ,每找到一处就把它替换成 *,然后从这一处的后面接着往右找,直到找不到为止。比较时区分大小写,并且 出现在某个单词的中间也要替换。
请输出一共替换了多少处,以及替换之后的文字。
输入格式
第一行是一行文字 ,可能含有空格和标点。
第二行是屏蔽词 ,只由英文字母组成。
输出格式
共两行。
第一行一个整数,表示替换的处数。
第二行是替换之后的文字(如果一处都没有替换,就原样输出 )。
样例 #1
样例输入 #1
the cat sat on the mat with another cat
cat
样例输出 #1
2
the *** sat on the mat with another ***
样例 #2
样例输入 #2
aaaaa
aa
样例输出 #2
2
****a
样例解释
样例 中,先在开头找到第 处 aa(第 个字符),替换后从第 个字符接着找,找到第 处 aa(第 个字符);最后只剩一个 a,找不到了。所以共替换 处。
提示
数据范围
- 对于 的数据: 只有 个字符;
- 对于 的数据:,, 由空格与可见字符组成(不含
*), 只由英文字母组成。
提示
- 中有空格,要用
getline读入整行。 s.find(t, pos)从下标pos开始找t,返回第一次出现的下标;找不到时返回string::npos,判断时要写!= string::npos。s.replace(pos, len, r)把从pos开始的len个字符替换成字符串r。