2018.10.28字符串—刪除公共字符

鏈接:https://www.nowcoder.com/questionTerminal/f0db4c36573d459cae44ac90b90c6212
來源:牛客網

輸入兩個字符串,從第一字符串中刪除第二個字符串中所有的字符。
輸入:They are students. aeiou
輸出:Thy r stdnts.

#include <iostream>
#include <string>
using namespace std;
int main()
{
    string s1, s2;
    getline(cin, s1);
    getline(cin, s2);
    int i = s1.size();
    int j = 0, k = 0;
    for (j = 0; j < i; j++)
    {
        if (s2.find(s1[j]) == -1)
        cout << s1[j];//除去重複的,把s1中不含s2的輸出
    }
    return 0;
}

參考C++ Primer 第325頁string搜索操作
find函數完成最簡單的搜索。查找參數指定的字符串,若找到返回第一個匹配位置的下標,否則返回npos:(大小寫敏感)

string name("AnneBelle");
auto pos1=name.find("Anna");//pos==0

該段程序返回0

s.find(args) 查找s中args第一次出現的位置
s.rfind(args) 查找s中args最後一次出現的位置
s.find_first_of(args) 查找args中任何一個字符第一次出現的位置
s.find_last_of(args) 查找args中任何一個字符第一次出現的位置
s.find_first_not_of(args) 查找第一個不在args中的字符
s.find_last_not_of(args) 查找最後一個不在args中的字符

args 格式(pos默認0)
c,pos 從s中位置pos開始查找字符c
s2,pos 查找字符串s2
cp,pos 查找指針cp指向的以空字符結尾字符串
cp,pos,n 查找指針cp指向的數組的前n個字符,(這裏pos和n沒有默認值)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章