题目一:根据指定的分隔符分隔字符串,并输出指定的段
描述
根据指定的分隔符分隔字符串,并输出指定的段。如果指定的段超过分隔的段数,输出:NULL
举例:
AAA?BBB?CCC??2
字符串为:AAA?BBB?CCC?
分隔符为:?
指定的段为:2
字符串分割为:AAA BBB CCC共三段,第2段字符串为:BBB
输入输出格式要求
输入分隔字符串长度小于128个字符,指定的段是一个正整数。
样例
输入:AAA?BBB?CCC??2
输出:BBB
#include<iostream>
#include<string>
using namespace std;
void main(){
string s;
cin >> s;
int len = s.size();
int n = s[len - 1] - '0'; //第几段
char t = s[len - 2]; //分隔符为t
int count = 0;
int m,r;
for (int i = 0; i < len - 2; i++){
if (s[i] == t){
count++;
if (count == n - 1){
m = i;
break;
}
}
}
int i = m + 1; //m为需要打印的前一个字符,即第n-1个分隔符。
while (s[i] != t){ //开始打印。
cout << s[i];
i++;
}
cout << endl;
system("pause");
}