URL提取关键词的value值
来源:互联网 发布:node v4.4.3 x64.msi 编辑:程序博客网 时间:2024/06/04 18:00
给定一个URL的字符串 在指定一个keys键 求解对应的值;
例如:
http://localhost/query.php?name=360&address=beijing
如果给定的参数是那么“name”,那么提取出来的value是“360”
如果给定的参数是那么“address”,那么提取出来的value是“beijing”
代码分析:
采取kmp算法进行 查看是否存在相应的键值,在定位到相应的位置截取字串;
#include <iostream>#include <string>#include <cstring>using namespace std;const int MAX = 100;int nextVal[MAX];void get_next(string T){ int len = T.size(); int i = 1; int j = 0; nextVal[1] = 0; while(i < len) { if(j == 0 || T[i] == T[j]) { i++; j++; if(T[i]!=T[j]) { nextVal[i] = j; } else { nextVal[i] = nextVal[j]; } } else { j = nextVal[j]; } }}int KMP(string S, string T){ int len_s = S.size(); int len_t = T.size(); int i = 0; int j = 0; while(i < len_s && j < len_t) { if(S[i] == T[j]) { i++; j++; } else { i++; j = nextVal[j]; } if(j == len_t) { break; } } if(j == len_t) { return i-j; } else { return -1; }}void Extract(const string& keys,const string& raw_url,string& sub_url){ get_next(keys); int kmp = KMP(raw_url,keys); cout << kmp << endl; if(kmp < 0) { cout << "no this keys " << endl; } while(raw_url[kmp] != '=') { kmp++; } //越过等号 kmp++; int flag_Pos = kmp; while(raw_url[kmp] != '&') { kmp++; } int diff = kmp-flag_Pos; //这个是从当前位置 截取多少个字符 进行输出 显示 sub_url = raw_url.substr(flag_Pos,diff); cout << "输出的字串就是" << ":" << sub_url << endl;}int main(){ const string keys = "name"; const string raw_url = "http://localhost/query.php?name=360&address=beijing"; string sub_url; Extract(keys,raw_url,sub_url); return 0;}
只是作为一个例子,随笔记录;
0 0
- URL提取关键词的value值
- 提取当前页面url带参数的value值
- NLP中关键词的提取
- 五三、提取浏览器 url 中的参数名和参数值,生成一个key/value 的对象
- 关键词提取
- 关键词提取
- 文本关键词的提取算法实验
- 邮件透明过滤-中文关键词的提取
- 文本关键词的提取算法实验
- TextRank算法提取关键词的Java实现
- 基于TextRank的关键词、短语、摘要提取
- TextRank算法提取关键词的Java实现
- TextRank 算法提取关键词的 Java 实现
- 基于TextRank的关键词提取算法
- TF-IDF关键词提取方法的学习
- 基于TextRank的关键词、短语、摘要提取
- 关于关键词提取,摘要提取的,及文本相似总结
- 51、tf-idf值提取关键词
- hadoop支持SnappyCodec的步骤
- PHPExcel(2)-- 导入功能
- @Repository、@Service、@Controller 和 @Component
- Step into Scala - 21 - I/O 操作与 Shell 操作
- [正在写]新手极速入门反汇编(二)-玩转汇编指令+寄存器
- URL提取关键词的value值
- 设计模式学习之旅——里氏替换原则
- 重复数据删除
- mysql 的tinyInt(1)
- Step into Redis- 05 - 过期时间
- 2015/5/10 省赛总结--重新上路
- 黑马程序员——IO流3:字节流
- 指针数组
- Linux下ME3760_v2驱动移植方式,中兴4G网卡移植