C++ 提取字符串中特定字符串
给一段字符串比如s=Iam<name>Iwant<object>Iam<name>做一个extract(strings)函数从s中找到用<>括起来的东西,返回一个字符串数...
给一段字符串比如s= I am <name> I want <object> I am <name>
做一个extract(string s)函数 从s中找到用<>括起来的东西,返回一个字符串数组{"<name>,<object>} 。重复的只要一个。顺便要把<name><object>保存到一个全局变量二维数组中。就是a[ ][ ]变成a[0][0]=<name>, a[1][0]=<object> 展开
做一个extract(string s)函数 从s中找到用<>括起来的东西,返回一个字符串数组{"<name>,<object>} 。重复的只要一个。顺便要把<name><object>保存到一个全局变量二维数组中。就是a[ ][ ]变成a[0][0]=<name>, a[1][0]=<object> 展开
展开全部
#include<stdio.h>
#include<iostream>
using namespace std;
char a[2][10];
void extract(string s);
main()
{
string str="I am <good> I want <object>";
extract(str);
cout<<a[0];
cout<<a[1];
}
void extract(string s)
{
int yixiao,yida,erxiao,erda,i;//yixiao为第一个小于号<
yixiao=s.find('<');
yida=s.find('>');
erxiao=s.find_last_of('<');
erda=s.find_last_of('>');
for(i=0;i<yida-yixiao-1;i++)
a[0][i]=s.at(yixiao+i+1);
a[0][i]='\n';
for(i=0;i<erda-erxiao-1;i++)
a[1][i]=s.at(erxiao+i+1);
a[1][i]='\n';
}
#include<iostream>
using namespace std;
char a[2][10];
void extract(string s);
main()
{
string str="I am <good> I want <object>";
extract(str);
cout<<a[0];
cout<<a[1];
}
void extract(string s)
{
int yixiao,yida,erxiao,erda,i;//yixiao为第一个小于号<
yixiao=s.find('<');
yida=s.find('>');
erxiao=s.find_last_of('<');
erda=s.find_last_of('>');
for(i=0;i<yida-yixiao-1;i++)
a[0][i]=s.at(yixiao+i+1);
a[0][i]='\n';
for(i=0;i<erda-erxiao-1;i++)
a[1][i]=s.at(erxiao+i+1);
a[1][i]='\n';
}
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
使用sscanf函数
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
kmp
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询