OC6-网址分割
- //
- // HtmlManger.h
- // OC6-网址分割
- //
- // Created by qianfeng on 15/6/17.
- // Copyright (c) 2015年 qianfeng. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "HtmlItem.h"
- @interface HtmlManger : NSObject
- {
- NSMutableArray *_itemList;
- }
- -(id)init;
- -(void)parseHtmlString:(NSString *)aString;
- -(void)showItemList;
- +(void)userInterface;
- -(void)addItemToItemList:(HtmlItem *)aItem;
- @end
- //
- // HtmlManger.m
- // OC6-网址分割
- //
- // Created by qianfeng on 15/6/17.
- // Copyright (c) 2015年 qianfeng. All rights reserved.
- //
- #import "HtmlManger.h"
- @implementation HtmlManger
- -(id)init
- {
- if(self=[super init])
- {
- _itemList =[NSMutableArray array];
- }
- return self;
- }
- -(void)parseHtmlString:(NSString *)aString
- {
- NSArray *itemArray =[aString componentsSeparatedByString:@"&"];
- for (NSString *itemString in itemArray) {
- NSArray *items =[itemString componentsSeparatedByString:@"="];
- HtmlItem *item=[[HtmlItem alloc] init];
- item.key=[items firstObject];
- if([[items lastObject] isEqualToString:@""])
- {
- item.value=nil;
- }
- else{
- item.value=[items lastObject];
- }
- [self addItemToItemList:item];
- }
- }
- -(void)addItemToItemList:(HtmlItem *)aItem
- {
- NSInteger i;
- NSInteger len =[self->_itemList count];
- for ( i=;i<len;i++) {
- if([[[_itemList objectAtIndex:i] key] compare:aItem.key]==NSOrderedSame)
- {
- break;
- }
- }
- if(i!=len)
- {
- [_itemList replaceObjectAtIndex:i withObject:aItem];
- }
- else{
- [_itemList addObject:aItem];
- }
- }
- -(void)showItemList
- {
- for (HtmlItem *item in _itemList) {
- NSLog(@"%@",item);
- }
- }
- +(void)userInterface
- {
- char str[]={};
- scanf("%s",str);
- HtmlManger *manger =[[HtmlManger alloc] init];
- [manger parseHtmlString:[NSString stringWithUTF8String:str]];
- [manger showItemList];
- }
- @end
- //
- // HtmlItem.h
- // OC6-网址分割
- //
- // Created by qianfeng on 15/6/17.
- // Copyright (c) 2015年 qianfeng. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- @interface HtmlItem : NSObject
- {
- NSString *_key;
- NSString *_value;
- }
- @property (copy,nonatomic) NSString *key;
- @property (copy,nonatomic) NSString *value;
- @end
- //
- // HtmlItem.m
- // OC6-网址分割
- //
- // Created by qianfeng on 15/6/17.
- // Copyright (c) 2015年 qianfeng. All rights reserved.
- //
- #import "HtmlItem.h"
- @implementation HtmlItem
- -(NSString *)description
- {
- return [NSString stringWithFormat:@"%@:%@",self.key,self.value];
- }
- @end
- //
- // main.m
- // OC6-网址分割
- //
- // Created by qianfeng on 15/6/17.
- // Copyright (c) 2015年 qianfeng. All rights reserved.
- //
- #import <Foundation/Foundation.h>
- #import "HtmlManger.h"
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- [HtmlManger userInterface];
- //int a=23;
- //int const *f const =&a;
- }
- return ;
- }
OC6-网址分割的更多相关文章
- web框架开发-路由控制
URL配置(URLconf)就像Django 所支撑网站的目录.它的本质是URL与要为该URL调用的视图函数之间的映射表:你就是以这种方式告诉Django,对于客户端发来的某个URL调用哪一段逻辑代码 ...
- python3里的Urllib库
首先Urllib是python内置的HTTP请求库. 包括以下模块: urllib.request 请求模块: urllib.error 异常处理模块: urllib.parse url解析模块: u ...
- 短网址资料-nginx非root用户启动-systemctl启动脚本-分割root权限
https://www.cnblogs.com/aspnethot/articles/3492191.htmlhttps://www.cnblogs.com/aspnethot/articles/34 ...
- 详解Node解析URL网址
前提给大家声明一下,我操作的环境是Mac终端下操作的.(前提是你先要下载好node.js) 说道URL 恐怕都不陌生,但是要说URL,就 必须先说下URI URI是统一资源标识符,是一个用于标识某一互 ...
- 使用PHP的正则抓取页面中的网址
最近有一个任务,从页面中抓取页面中所有的链接,当然使用PHP正则表达式是最方便的办法.要写出正则表达式,就要先总结出模式,那么页面中的链接会有几种形式呢? 链接也就是超级链接,是从一个元素(文字. ...
- linux:主机规划和磁盘分割
1>.在linux系统中,每个装置都被装成一个档案来对待: 2>.各硬体装置在linux当中的档案名:SATA介面的硬碟的档案名为/dev/sd[a-d];在linux中,几乎所以的硬体装 ...
- PCL—低层次视觉—点云分割(RanSaC)
点云分割 点云分割可谓点云处理的精髓,也是三维图像相对二维图像最大优势的体现.不过多插一句,自Niloy J Mitra教授的Global contrast based salient region ...
- 笔记︱图像语义分割(FCN、CRF、MRF)、论文延伸(Pixel Objectness、)
图像语义分割的意思就是机器自动分割并识别出图像中的内容,我的理解是抠图- 之前在Faster R-CNN中借用了RPN(region proposal network)选择候选框,但是仅仅是候选框,那 ...
- javaScript识别网址文本并转为链接文本
最近项目有个需求:用户之间发送消息时,如果发送者输入的信息中含有网址文本,要在接受者界面中显示网址链接,点击该链接直接跳转到网页.这个功能和 QQ 发送网址文本的效果非常像,可以说是一模一样的. 思路 ...
- MySql分割字符串【存储过程】
MYSql没有表变量,通过函数无法返回表. 参考网址:https://bbs.csdn.net/topics/330021055 DELIMITER $$ USE `数据库`$$ DROP PROCE ...
随机推荐
- JQuery ajax请求一直返回Error(parsererror)
$.ajax({ type :"post", url :"busine_in.action", timeout : 40000, data: "cen ...
- PHP AJAXFORM提交图片上传并显示图片源代码
PHP dofile.php 文件上传源代码 <? php $file_upload = "upload/"; $file_allow_ext='gif|jpg|jpeg|p ...
- 小菜学习MVC4-WebApi
今天想看下MVC4的东西,发现 居然有WebApi这东西,百度了一下..居然是 WCF中的东西,然后移植到了MVC4中,WCF你懂得返回数据都是xml,向网站这种请求 就比较纠结...而webapi可 ...
- Codeforces GYM 100114 D. Selection 线段树维护DP
D. Selection Time Limit: 1 Sec Memory Limit: 256 MB 题目连接 http://codeforces.com/gym/100114 Descriptio ...
- 通过程序 VB.Net 或 C# 读取文本文件行数
1, VB.NET 读取 (通过streamReader) ' tmpCount = 0 'Dim tmpSR As New StreamReader(fileFullName, System.Tex ...
- android 关于提高第三方app的service优先级
本博客仅仅要没有注明"转".那么均为原创,转贴请注明本博客链接链接 基本上大家都知道提高service优先级能够在非常大程度上让你的service免于由于内存不足而被kill,当然 ...
- 3款强大的BootStrap的可视化制作工具推荐
http://www.25xt.com/html5css3/7342.html 25学堂看到最近很多朋友在学习Bootstrap前端主题框架.顾让25学堂的小编给大家找来了3款适合Bootstrap初 ...
- Android开发 MMS支持 创建和编辑MMS
Composing and editing MMS在Android Mms 应用里面的具体实现形式,或数据结构是SlideshowModel,它是一个每个节点为SlideModel的 ArrayLis ...
- 利用text插件和css插件优化web应用
JavaScript的模块化开发到如今,已经相当成熟了,当然,一个应用包含的不仅仅有js,还有html模板和css文件. 那么,如何将html和css也一起打包,来减少没必要的HTTP请求数呢? 本文 ...
- mysql_upgrade命令
mysql 创建存储过程失败.查看错误日志,发现如下信息:*********************************************************************** ...