欢聚时代校招字符串匹配题目

题目描述

请从字符串中提取以最后一个[img]开头、以最后一个[\img]结尾的字符串,未找到匹配的字符串返回"null"

输入描述:

可能包含[img][\img]的字符串

输出描述:

截取后的字符串

示例1

输入

bbb[img]ccc[img]ddd[\img]eee[\img]

输出

[img]ddd[\img]eee[\img]

说明

示例2

输入

abc

输出

null

说明

在C++ string类型中,可以使用str.find()函数匹配字符串第一次出现的字串,最后一次出现的字串用rfind函数,这里要特别注意\在C++中需要用\\代替

#include<iostream>
#include<string>
using namespace std;

int main()
{
    string str;
    cin>>str;
    int i = str.rfind("[img]");
    int j = str.rfind("[\\img]");
    if(i==-1 || j==-1 || j<i){
        cout<<"null"<<endl;
        return 0;
    }
    else{
        cout<<str.substr(i,j-i+1+5);
    }
}

猜你喜欢

转载自blog.csdn.net/wwxy1995/article/details/89477407