题目描述
请从字符串中提取以最后一个[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);
}
}