对于我们经常用的rangeOfString这个方法只能获取最近的一次出现的位置,而不能指定第几个出现的位置。
str=[str stringByReplacingOccurrencesOfString:@”33″ withString:@”hh”];
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/116261.html原文链接:https://javaforall.cn
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/118289.html原文链接:https://javaforall.cn
问题:解决替换同一个字符串的多个相同的字符eg. xxx这个超级大土豪白送xxx一个!赶快来抢把! 将第一个xxx换成名字 将第二个xxx换成物品 两种办法 第二种办法更灵活一点 //第一种办法简单粗暴(思路获取第一次xxx出现的位置然后替换成名字 替换之后string中就只有一个xxx了 然后用物品替换string中仅有的一个xxx) // NSRange range = [share6 rangeOfString:@"xxx"];//获取第一次出现的位置 // sh
我们经常需要获取用户设备的唯一标识符,一般来说都是使用的UUID,本文介绍简单的获取UUID的方法。
摘自:Learning the iOS 4 SDK for JavaScript Programmers
字符串算是OC中非常重要和常用的一部分内容,OC中的字符串与我之前在学习C,C++,Java中的字符串有一定的不同,它非常类似于C++中容器的概念,但用法却与之还是有很大的不同,也许是因为OC的语法就与其他我们常用的编程语言不尽相同。 这里总结一下字符串NSString与NSMutableString。 一. NSString NSString代表字符序列不可变的字符串,NSString的功能非常强大,OC的字符串处理比C语言的饿字符串简单、易用得多。 这里
NSRange是一个结构体,其中location是一个以0为开始的index,length是表示对象的长度。他们都是NSUInteger类型。 而NSUInteger类型的定义如下:
大家好,又见面了,我是你们的朋友全栈君。 //判断roadTitleLab.text 是否含有qingjoin if([roadTitleLab.text rangeOfString:@"qingjoin"].location !=NSNotFound)//_roaldSearchText { NSLog(@"yes"); } else {
正则语法努力学习中 一:使用NSPredicate(谓词)匹配 NSString *mail = @"zhangrongwuios@icloud.com"; NSString *regex = @"[A-Z0-9a-z._%+-]+@[A-Za-z0-9.-]+\\.[A-Za-z]{2,4}"; NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex]; BOOL is
// Copyright © 2016年 start. All rights reserved.
在开发中经常会遇到Float类型转化成NSString类型后不准确的问题 float a = 0.96; NSString *str = [NSString stringWithFormat:@"%.1f",a]; NSLog(@"%@",str); 打印 2018-05-25 16:24:14.457366+0800 Test[19641:4237944] 1.0 我们想要的是输出0.9 这种问题怎么处理 可以写一个NSString的Category来处理 #import "NSString+Preci
1. 自动添加其他字符串(空格)显示 自动显示空格 -(BOOL)textField:(UITextField*)textField shouldChangeCharactersInRange:(NSRange)range replacementString:(NSString *)string { NSString *text = [textField text]; NSCharacterSet *characterSet = [NSCharacterSet charact
本文首发于我的个人博客:『不羁阁』 https://bujige.net 文章链接:https://bujige.net/blog/iOS-Foundation-String.html 本文对Foundation框架中的字符串类(NSString、NSMutableString)的使用做一个详细的总结。 1. NSString 1. NSString介绍 Foundation框架支持一个名为NSString的类,用于处理字符串对象,由unichar字符组成。 一个NSString对象就代表一个字符
版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/51854189
好的东西就应该大家一块分享。 今天项目中要求,类似于启动页是淘宝的广告,然后点击广告,跳转到淘宝的详情页。 实现这个要求我是各种百度,不过最后发现呢,大部分东西都是千篇一律。 第一种:只是提供了天猫的跳转,并没有提供淘宝的跳转。 第二种:就是使用阿里百川的sdk,这样的话对我我来说是觉得有点大材小用的毕竟只是一个广告页而已。 第三种:就是我通过不懈的努力,终于被我给发现了。 现在我就要记录下来。 - (void)showItemInTmall4iOS:(NSString *)itemId { NSU
Objc基础学习记录5 NSMutableString类继承的NSString类. NSMutableString是动态的字符串. 1.appendingString 方式: 向字符串尾部添加一个字符串. 2.appendingFormat:可以添加多个类型的字符串. int,chat float,double等 3.stringWithString 创建字符串, 4.rangeOfString 返回str1在另一个字符串中的位置. 5.NSMakeRange(0,3) 字符串0位到3位
- (BOOL)webView:(UIWebView *)webView shouldStartLoadWithRequest:(NSURLRequest *)request navigationType:(UIWebViewNavigationType)navigationType { //判断是否是单击 if (navigationType == UIWebViewNavigationTypeLinkClicked){ NSString *url = [request.
54.jpg 很久没更新文章了,由于最近公司项目比较赶,所以....... 下面可以看到一个菜鸟的进化史哦。赶紧围观吧。 字典转模型在我还是菜鸟的时候,说实话,老老实实在模型里面写的如下代码 1.手动解析 //手动解析 - (instancetype)initWithDic { self = [super init]; if (self) { xxx = dic[@"xxx"]; ... } return self; } 2.KVC解析 /
- (NSMutableAttributedString *)text:(NSString *)string searchText:(NSString *)text
上一篇博客中是把URL转换为字典,那么我们如何把URL请求中的参数封装成字典,然后再封装成数组呢?对OC中字符串操作熟练的小伙伴们应该觉得这是一个a+b的问题,没错把URL中的参数转换为字典主要是对字符串的截取,关键是怎么个截法,才能把字符串中的参数列表分别转换成键值对。下面是小菜自己的转换思路,如果有更好的结局方法还请批评指正,相互学习交流一下,转载请注明出处。 首先我们得会一个字符串拆分函数 componentsSeparatedByString:@"&",把字符串按照&进行拆分,然后
传入一串文本"02,03,PM25" 返回小角标数字 /// 字符串数字小角标 /// @param text 文本 /// @param size 角标字体 +(NSMutableAttributedString*)getNumberSubscriptString:(NSString*)text size:(CGFloat)size { if (text.length == 0) {return nil;} NSMutableArray *numStrArr = [NSMutab
一、什么是正则表达式 正则表达式,又称正规表示法,是对字符串操作的一种逻辑公式。正则表达式可以检测给定的字符串是否符合我们定义的逻辑,也可以从字符串中获取我们想要的特定部分。它可以迅速地用极简单的方式达到字符串的复杂控制。 二、正则表达式的语法 看一个过滤纯数字的例子 -(BOOL)validateNumber:(NSString ) textString { NSString number=@"^[0-9]+$"; NSPredicate *numberPre = [NSPredicate pre
在项目开发中,难免会遇到使用当前时间,比如实现网络请求上传报文、预约、日历等功能。
做iOS开发有3年了,从当初的小白到现在,断断续续看过很多资料,之前也写过一些博文来记录,但是感觉知识点都比较凌乱。所以最近准备抽时间把iOS开发的相关知识进行一个梳理,主要分为OC基础、UI控件、多线程、动画、网络、数据持久化、自动布局、第三方框架等几个模块进行梳理。本系列的所有博文集合参见:iOS开发知识梳理博文集。本文主要介绍 OC基础--字符串。
1.创建字典的NSString可变字符串,和NSMutableString不可变字符串.都是objective的对象.
默认的,我们在开发中,写入沙盒里的文件按文件名排序,如0,1,2,3,4,5,a,b,c,.....z等,但有时候咱们需要将里面的文件按创建时间来排序。这时候,怎么做呢? NSFileManager中的attributesOfItemAtPath:方法可以获取沙盒内的文件信息,其中就有NSFileCreationDate和NSFileModificationDate两个属性分别代表文件创建时间和修改时间,我们可以比较两个文件的这两个属性,实现按创建时间排序或者按修改时间排序。 NSFileManage
///在 .h 写代理 <UITableViewDelegate,UITableViewDataSource,UISearchBarDelegate> ///结合UITableView 展示了UISearchBar _searchArray = [[NSMutableArray alloc] init]; _dataArray = [[NSMutableArray alloc] initWithObjects:@"qq", @"tencent", @"NOKIA", @"samsung", @"go
对于这需求要做到百度搜索我呸,谷歌搜索的权重排序,我接到这个需求是拒绝的。后来经过和小伙伴的研究,觉得这个按照权重排序是可以实现的。
今天项目中有一需求,判断手机上是否安装百度或高德地图,如果安装了,点击导航时选择百度,高德,或苹果地图,如果没有安装则直接苹果地图导航。
iOS8之前我们使用UISearchDisplayController做TableView的本地搜索,查看UIKit库,苹果已经使用新控件取代它。 NS_CLASS_DEPRECATED_IOS(3_0, 8_0, "UISearchDisplayController has been replaced with UISearchController") __TVOS_PROHIBITED 使用UISearchDisplayController的时候,搜索结果的展示tableView系统已经帮我们封装好,但
前言 我们都知道,开发中会有这么一个过程,就是将服务器返回的数据转换成我们自己定义的模型对象。当然服务器返回的数据结构有xml类型的,也有json类型的。本文只讨论json格式的。 大家在项目中一般是怎么样将服务器返回的json转化成自己定义的模型类呢? 我在项目中一般都是使用的MJExtension。 本文讲解的也基本就是解读MJExtension中的部分源码。 好了,废话不多说,直接上代码,let's go 简单字典转模型 首先,从最简单的字典开始,例如我们需要将如下的字典转化成自定义的模型。
开篇 项目有一个客服反馈功能,用到的是聊天列表的形式,这就免不了计算字符串的宽高,由于要给字符串加间距,没办法,只能用 NSAttributedString 所以要计算NSAttributedString的长宽 计算NSString宽高 计算NSString宽高很简单,代码如下: //返回字符串所占用的尺寸. - (CGSize)sizeWithFont:(UIFont *)font maxSize:(CGSize)maxSize { NSDictionary *attrs = @{NSFontAt
KVO是Key-Value-Observer的缩写,使用的是观察者模式。底层实现机制都是isa-swizzing,就是在底层调用object_setClass函数,将对象的isa指向的Class偷偷换掉。
无论是什么编程语言对字符串的操作是少不了的,对复杂的字符串的分析和操作我们可以用正则表达式来达到我们的目的。简单的字符串处理我们可以借助OC中NSString封装好的字符串处理方法,不过前提是你得了解每个方法如何使用,以下做了一个简单的总结,便于以后使用。以下事例是原创代码,转载请注明出处。 1.字符串的创建 字符串的创建有多种方法,下面的例子中给了常用的几种字符串创建方法(还有好多) 1 2 3 4 5 6 //字符串创建工厂
@interface ViewController ()<UIWebViewDelegate> @property (weak, nonatomic) IBOutlet UIBarButtonItem backItem; @property (weak, nonatomic) IBOutlet UIBarButtonItem forwardItem; @property(nonatomic,weak)UIWebView * webView; (IBAction)back; (IBAction)forwar
一. RunTime简介 RunTime简称运行时。OC就是运行时机制,也就是在运行时候的一些机制,其中最主要的是消息机制。 对于C语言,函数的调用在编译的时候会决定调用哪个函数,如果调用未实现的函数就会报错。 对于OC语言,属于动态调用过程,在编译的时候并不能决定真正调用哪个函数,只有在真正运行的时候才会根据函数的名称找到对应的函数来调用。在编译阶段,OC可以调用任何函数,即使这个函数并未实现,只要声明过就不会报错。 二. RunTime消息机制 消息机制是运行时里面最重要的机制,OC中任何方法的调用,
下面我们开始分析,首先感谢苹果开源精神,在Github可以直接下载,我们通过 Swift 源码展开分析
iOS -正则表达式的简单使用 ✨建议收藏,用到时候一查就明白了 1.我们一般将谓词和正则表达式配合使用,这是最常用的方法。 - (BOOL)validateNumber:(NSString *) textString { // 其中^[0-9]+$表示字符串中只能包含>=1个0-9的数字。 NSString* number=@"^[0-9]+$"; NSPredicate *numberPre = [NSPredicate predicateWithFormat:@"SELF MA
创建一个字符串对象: NSstring * str1 = @"hello"; NSString * str = [[NSString alloc]initWithString:@"hello world!"]; NSString * str_1 = [[NSString alloc]initWithUTF8String:"hello world"];//把C的字符串转化为OC的字符串 int a = 123; NSString * str_3 = [[NSString alloc]initWithForma
为了提高工程的编译速度,准备把第三方库编译成 Framework。这样就可以省掉编译这些第三方库的很多时间了。
项目中有时会需要存储敏感信息(如密码、密钥等),苹果官方提供了一种存储机制--钥匙串(keychain)。 keychain是一种存储在硬盘上的加密的数据库。这个可能是卸载App后,keychain信息还在的原因。 keychain适合存储 较小的数据量(不超过上千字节或上兆字节)的内容。
在前面的文章中我有说过AES和RSA这两种加密方式,正好在前段时间再项目中有使用到,在这里再把这两种加密方式综合在一起写一下,具体到他们的使用,以及RSA各种加密文件的生成。
项目中有时会需要存储敏感信息(如密码、密钥等),苹果官方提供了一种存储机制--钥匙串(keychain)。
1.常用功能使用 1)初始化 NSString *astring = @"This is a String!"; //固定字符串 NSString *str = [NSString stringWithFormat:@"asd%d%@",123,@"ttt"]; //拼组字符串 2)截取 NSString *str = [@"asd" substringFromIndex:1]; //从第几位开始截到
领取专属 10元无门槛券
手把手带您无忧上云