zoukankan      html  css  js  c++  java
  • 字符串的查找删除

     

    题目描述

    给定一个短字符串(不含空格),再给定若干字符串,在这些字符串中删除所含有的短字符串。

     

    输入

    输入只有1组数据。
    输入一个短字符串(不含空格),再输入若干字符串直到文件结束为止。

     

    输出

    删除输入的短字符串(不区分大小写)并去掉空格,输出。

     

    样例输入 Copy

    in
    #include 
    int main()
    {
    
    printf(" Hi ");
    }

     

    样例输出 Copy

    #clude
    tma()
    {
    
    prtf("Hi");
    }

     

    提示

    注:将字符串中的In、IN、iN、in删除。

    思路:
    题目中删除字符要求不分大小写,则可将先将原字符存储在二维数组,再讲字母全部转化为小写进行比较。

    判断逻辑:遍历字符串,某字符与短字符第一个字符相同;在判断下一位字符是否相同,直至完全相同,完全相同则跳过;

    #include<bits/stdc++.h>
    using namespace std;
    int main() {
        string s1;
        cin >> s1;
        for (int i = 0; i < s1.size(); i++) {
            s1[i] = tolower(s1[i]);
        }
        getchar();
        string a, b;
        while(getline(cin, a)) {
            b = a;
            for (int i = 0; i < b.size(); i++) {
                b[i] = tolower(b[i]);
            }
            int t = b.find(s1, 0);
            while (t != string::npos) {
                a.erase(t, s1.size());
                b.erase(t, s1.size());
                t = b.find(s1, 0);
            }
            t = b.find(" ", 0);
            while (t != string::npos) {
                a.erase(t, 1);
                b.erase(t, 1);
                t = b.find(" ", 0);
            }
            cout << a << endl;
        }
        return 0;
    }
    唐舞麟——武魂:蓝银皇、斗凯:金龙月语、身份:史莱克院长、唐门门主
  • 相关阅读:
    Linux下 find 命令用法
    MVC3 ViewBage 输出的值 被编码
    C#枚举数值与名称的转换实例分享
    关于Js的那些面试题
    Javascript Event事件中IE与标准DOM的区别
    原生js选项卡
    js之事件冒泡和事件捕获详细介绍
    js事件的三个阶段
    js对象中关于this关键字的作用
    css的相对定位与绝对定位
  • 原文地址:https://www.cnblogs.com/fangzm/p/13641911.html
Copyright © 2011-2022 走看看