IOS 字符串的用法

iOS开发:字符串处理:截取字符串、匹配字符串、分割字符串 分享一个比较基础的知识点,记录一下,以备以后使用的时候查找方便,现在岁数大了,脑子不好使了,记忆力减退,年轻人可以忽略此博客。本篇要分享的是关于iOS开发中,字符串简单处理的方法,此部分过于基础,仅作加强记忆、记录使用。 一、截取字符串 进行截取字符串的操作,需求不同截取的方式不同,这里只介绍下面的截取方式。 1、截取下标某一位之前的字符串 NSString *string = @"123... 阅读详情

小常识:
    NS是Cocoa类对象类型的前缀,来源于史蒂夫-乔布斯被苹果开除那段时间建立的公司NeXT.
@
是Cocoa元素的前缀,很多地方我们会看到,比如接下来...

 

1,创建一个NSString对象

简单方法:

NSString*aString=@"我是个NS字符串!"; //除了引号外加@,没别的区别不需要操心内存管理

NSString*aString=[[NSString alloc] initWithFormat:@"这也是个NS字符串!"];//要去retain和release这个字符串,系统不管。

*initWithFormat是其中一个初始化方法,常用的还有

//从一个文件读取需要的内容
-(id)initWithContentsOfFile:(NSString*)path encoding:(NSStringEncoding)enc error:(NSError**)error
//从一个地址读取需要的内容
-(id)initWithContentsOfURL:(NSURL*)url encoding:(NSStringEncoding)enc error:(NSError**)error

*以上方法得到的NSString的retain值为1,所以记得release掉阿~~

2,使用一个NSString对象

NSString*aString=@"This is a NSString";
 
NSLog
(aString);  //在控制台输出信息,该函数方法需要一个NSString对象作为参数
 
NSLog
("这样不会好使的");
 
NSLog
(@"这样就会好使拉~");

再比如设置一个UIView的标题:

[UIView setTitle:aString];
 
[UIView setTitle:@"标题"];
 
UIView.title
= aString;

3,释放NSString

[aString release];//对象将被系统释放掉咯

*记得不要释放直接用 = @”xxx”的NSString对象哟,系统会管的~

4,快速使用一个NSString

NSLog([NSString stringWithFormat:@"一个NS字符串"]);

//这种快速方法返回的是一个retain为1,autorelease的对象,不需要操心它的内存管理

5,常用方法

nString=[aString substringToIndex:4];//nString将得到aString中的前四个字符

 

占位符:

%c一个单一的字符

%d一个十进制整数

%i一个整数

%e, %f, %g一个浮点数

%o一个八进制数

%s一个字符串

%x一个十六进制数

%p一个指针

%n一个等于读取字符数量的整数

%u一个无符号整数

%[]一个字符集

%%一个精度符号

//格式化字符串:占位符(由一个%加一个字符组成)

如:

int  textCount=textField.text.length; //创建一个整型变量textCount,用于获取输入文本框的文字长度

NSString *astring = [NSString stringWithFormat:@"你输入的字符串长度是:%d“,textCount];//创建一个字符变量astring,取得文字数据类型,把整数转换为文字数据

label1.text=astring ; //标签显示字符变量astring的数据内容

textField.text=NULL; //将文本框中输入的文字清空

 

如:

int i = 1;

int j = 2;

NSString *astring = [[NSString alloc]initWithString:[NSStringstringWithFormat:@"%d.This is %i string!",i,j]];

NSLog(@"astring:%@",astring);

[astring release];

 

字符串转换

 

1、字符串与数值互相转换 

//字符串转换为数值

     NSString *aNumberString =@"123";

     int i = [aNumberString intValue];

 

//数值转换为字符串

     int aNumber = 123;

     NSString *aString = [NSStringstringWithFormat:@"%d", aNumber];

 

2、字符串与日期相互转换

//字符串转换为日期

NSDateFormatter* dateFormat = [[NSDateFormatteralloc] init];    //实例化一个NSDateFormatter对象

    

       [dateFormatsetDateFormat:@"yyyy-MM-dd HH:mm:ss"];    //设定时间格式,这里可以设置成自己需要的格式

    

       NSDate *date =[dateFormatdateFromString:@"1980-01-01 00:00:01"];

 

//日期转换为字符串

NSDateFormatter* dateFormat = [[NSDateFormatteralloc] init];   //实例化一个NSDateFormatter对象

    

        [dateFormatsetDateFormat:@"yyyy-MM-dd HH:mm:ss"];    //设定时间格式,这里可以设置成自己需要的格式

NSString *currentDateStr = [dateFormatter stringFromDate:[NSDatedate]];

 

 

 

常用字符串操作

1、获得字符串长度

       NSString* str1=@"MACOS Pro";

       NSLog(@"长度是%d",[str1 length]);

 

2、两个字符串连接

       NSString* str2=@"MACOS Pro";

       NSString* str3=@"Leopard";

       NSString* str4=[str2stringByAppendingString:str3];

       NSLog(str4,nil);

       NSString* str5=[str2stringByAppendingFormat:@" %d",10];

       NSLog(str5,nil); 

 

3、插入字符串

       NSMutableString*string1=[NSMutableString stringWithFormat:@"Mac X"];

       [string1insertString:@"OS " atIndex:4];

       NSLog(string1,nil);

 

4、删除字符串

       NSMutableString*string2=[NSMutableString stringWithFormat:@"删除字符串"];

       [string2deleteCharactersInRange:NSMakeRange(0, 2)];

       NSLog(string2,nil);

 

5、抽取部分字符串

      NSString* string6=@"This isMac OS X";

       NSString*nstr1,*nstr2,*nstr3;

       //从开头抽取字符串

       nstr1=[string6substringToIndex:4];

       NSLog(nstr1,nil);

       //抽取末位位置的字符串

       nstr2=[string6substringFromIndex:8];

       NSLog(nstr2,nil);

       //抽取指定范围的字符串

       nstr3=[string6substringWithRange:NSMakeRange(5,2)];

       NSLog(nstr3,nil);

 

6、从文件读取字串:initWithContentsOfFile方法

       NSString *path =@"astring.text";

       NSString *astring =[[NSString alloc] initWithContentsOfFile:path];

      NSLog(@"astring:%@",astring);

       [astring release];

 

7、抽取子串

-substringToIndex:从字符串的开头一直截取到指定的位置,但不包括该位置的字符

      NSString *string1 =@"This is a string";

      NSString *string2 = [string1substringToIndex:3];

       NSLog(@"string2:%@",string2);

 

 -substringFromIndex:以指定位置开始(包括指定位置的字符),并包括之后的全部字符

      NSString *string1 =@"This is a string";

      NSString *string2 = [string1substringFromIndex:3];

      NSLog(@"string2:%@",string2);

 

 -substringWithRange: //按照所给出的位置,长度,任意地从字符串中截取子串

      NSString *string1 =@"This is a string";

      NSString *string2 = [string1substringWithRange:NSMakeRange(0, 4)];

      NSLog(@"string2:%@",string2);

      const char *fieldValue =[value  cStringUsingEncoding:NSUTF8StringEncoding];

      const char *fieldValue =[value UTF8String];

 

8、NSString转 NSData

      NSString* str=@"kilonet";

      NSData* data=[strdataUsingEncoding:NSUTF8StringEncoding];

 

      Dateformat用法:

      -(NSString *) getDay:(NSDate*) d

      {

      NSString *s ;

      NSDateFormatter *format =[[NSDateFormatter alloc] init];

       [formatsetDateFormat:@"YYYY/MM/dd hh:mm:ss"];

      s = [formatstringFromDate:d];

      [format release];

      return s;

      }

 

9、计算字符串长度:

          CGFloatw = [title sizeWithFont:[UIFont fontWithName:@"Arial"size:18]].width;

其实动态获取字符串NSString的CGSize的大小最主要的还是APINSString类提供的一个方法

sizeWithFont: constrainedToSize

例如:

 CGSize feelSize = [feeling sizeWithFont:[UIFontsystemFontOfSize:12] constrainedToSize:CGSizeMake(190,200)];

 float  feelHeight = feelSize.height;

 

10、在很多语言如 java , ruby , python中都有将字符串切分成数组或者将数组元素以某个间隔字符串间隔形成新的数组。其实NSArray也提供了这样的功能。

 

使用-componentsSeparatedByString:来切分NSArray。如:

引用

NSString*string = @”one:two:three”;

NSArray*aArray = [string componentsSeparatedByString:@":"];

 

用-componentsJoinedByString:来合并NSArray中的各个元素并创建一个新的字符串,如:

string = [aArraycomponentsJoinedByString:@","];

 

这样,上面的数组就中的各个元素就以”,”分割形成一个字符串。

SAP CDS View association 的工作原理,与数据库传统 join 操作的区别讲解 笔者前一篇教程,介绍了 SAP CDS View 里如何创建 association:本文就来一一对这些问题进行解答。首先我们来研究如何消费创建好的 SAP CDS View 中的 association 数据。在上图 ABAP Development Tool 里展示的 CDS View 界面,点击 F8 快捷键,进入 Data Preview 即数据预览界面。我们随便选中一条行项目,右键,发现右键菜单里,赫然有一条的菜单项。看来这个功能肯定和 association 相关了。 阅读详情

相关推荐

Zemax 中的 LED 阵列模型

这些光线是所有光线的子集,用于布局可视化,而不是详细分析。X 和 Y 散度(αx 和 αy)以度为单位,以不同的方式设置为 6 度和 12 度。每个 LED 都以朗伯模式(广角分布)发光,尽管有些 LED 具有内置光学元件,用于更窄或更聚焦的光束。,具体取决于这些类别中使用的半导体材料。LED 阵列由多个发光二极管 (LED) 组成,这些二极管以特定模式或配置排列,以实现均匀照明、更高强度或特定照明特性。如果数据的存在更改为“辐射强度”,则它以弧度为单位显示每个立体角的功率,作为探测器上入射角的函数。

jkh920184196的博客 1596

【IOS】NSString字符串的用法

Objective-C 中核心处理字符串的类是 NSString 与 NSMutableString ,这两个类最大的区别就是NSString 创建赋值以后该字符串的内容与长度不能在动态的更改,除非重新给这个字符串赋值。而NSMutableString 创建赋值以后可以动态在该字符串上更改内容与长度。 1.创建经典的NSString字符串 NSString 与 ch...

denghua8301的博客 137

5分钟搞懂深度学习如何革新声源定位:从GCC-PHAT到DNN的实战对比

本文深入对比了深度学习与传统GCC-PHAT方法在声源定位领域的实战表现。通过具体实验数据,展示了DNN模型在强混响、低信噪比等复杂场景下,如何实现定位准确率的显著提升,并探讨了其数据驱动范式带来的鲁棒性优势与工程部署挑战。

3a9bq4r8t2y的博客 223

iOS 正则匹配,截取需要字符串的用法

很多时候,我们需要从很复杂的字符串中截取出需要的内容,当然,用字符串处理方法也可以实现.这里记录下用正则实现截取字符串中需要部分的方法: 1.首先需要待截取字符串,正则表达式.其中需要截取的部分用小括号(),括起来. NSArray *array = [YCIStringHelper matchString:aString toRegexString:@"^.*?_(\\d+)X(\\

yanchen_ing的专栏 1万+

VirtualBox虚拟机上ubuntu系统安装问题记:显示画面太小、启动就异常退出等

报错:Failed to load R0 module D:/VMMR0.r0: The path is not clean of leading double slashes: ‘D:/VMMR0.r0’ (VERR_SUPLIB_PATH_NOT_CLEAN).解决方法特别简单,就是安装VIrtualBox的时候不要安装在CDE等盘根目录下。首先VirtualBox的下载安装过程是比较简单的,此处就不赘述了。然后E盘下新建个目录,安装到这个目录下就可解决。

qq_42595610的博客 2826

保姆级教程:用YOLOv8/9/10搞定仪表盘指针识别,附完整数据集和Python环境配置

本文提供了一份基于YOLOv8/v9/v10的仪表盘指针检测全流程指南,涵盖环境配置、数据集构建、模型选型、训练调优和部署落地等关键步骤。通过详细的代码示例和实战经验,帮助开发者高效解决工业视觉中的仪表盘检测难题,特别适合电力巡检、智能监控等应用场景。

weixin_29031057的博客 1335

iOS中字符串的用法,看这里就够了(详细)

这篇文章主要详细介绍iOS中字符串的各种用法,如果发现不够完善可以提交意见,主要是方便对字符串的使用的理解 内容比较多但是详细,如果觉得以后用得着的地方可以先收藏着; NSString的基本概念 (NSString是不可变字符串) 什么是NSString? 一个NSString代表一个字符串(文字内容) 一般称NSString为字符串类 NSString的创建方式 (两种) -

努力,可能成功!放弃,注定失败! 4856

用 SNC 和 SAP Single Sign-On Secure Login 把 SAP 登录这件小事,变成一件安全又不用输密码的事

在传统的 SAP 系统里,登录这件事看起来很朴素:用户打开 SAP GUI,输入一个 SAP 用户名,再输入一个 SAP 密码,点回车,进系统,开始干活。表面上没毛病,但从安全角度看,这种老办法问题很大。默认情况下,这些用户名和密码在网络上传输时是明文,也就是不加密传输。攻击者如果在公司网络里做监听,理论上可以直接截取到口令信息,这种风险对今天任何一家合规要求高、审计严格的企业来说,基本是不可接受的。(SAP Help Portal)SAP 给出的答案叫做 ,全称是 。SNC 做的事情可以概括成两类:一类是

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 377

iOS字符串的各种用法(字符串插入、字符串覆盖、字符串截取、分割字符串)

NSString* str=@"hello";//存在代码区,不可变        NSLog(@"%@",str);                  //1.【字符串插入】         NSMutableString* str1=[[NSMutableStringalloc]initWithString:@"hello"];//存在堆区,可变字符串        NS

小乔的博客 2652

工业相机的检测原理课件(建议收藏)

本课件为各位工程师详细介绍了工业相机的视觉检测原理 ,旨在为工程师调试工业相机的视觉检测原理时提供理论性指导。

Bamboo265925的博客 498

「自然语言驱动生产力」17. 秒出端子图:DeepSeek+EPLAN实现机柜布线自动化——电气工程设计的效率革命

摘要:在电气工程设计领域,机柜布线与端子图绘制长期依赖人工操作,存在效率低、易出错等痛点。本文提出基于DeepSeek大模型与EPLAN软件的集成方案,通过自然语言指令驱动自动化设计流程。实验表明,该方案可将PLC柜端子图绘制从传统3小时压缩至2分钟,线号标注准确率达100%,BOM表实现实时导出。文中详细阐述了系统架构、IO配置解析算法、端子排自动生成逻辑及线缆优化策略,提供了完整的Python实现代码与污水处理厂鼓风机控制柜的实际应用案例,验证了自然语言驱动技术在电气工程设计中的实用价值。

专注于人工智能、软件开发、工控自动化、工厂数字化及智能化等领域,希望和大家共同进步! 2053

iOS UIlabel怎么加载html字符串 富文本的用法

要加载html字符串,用人说,直接用webView啊!但是,有时候我们只需要显示2行文字,如此少的内容却要在复杂的UI排版中加入一个占用资源较多的webview,得不偿失。这里要说的是,我们其实可以用label即可加载html字符的,用富文本转一下html字符串即可。 //创建UILabel _Test_Lbl = [[UILabel alloc] initWithFr...

weixin_30246221的博客 929

麒麟系统无法进入单用户模式该怎么办?

🏆本文收录于《全栈Bug调优(实战版)》专栏,主要记录项目实战过程中所遇到的Bug或因后果及提供真实有效的解决方案,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!! 备注:部分问题/疑难杂症搜集于互联网。

**My Coding Family** 1820

ios html字符串 label,iOS UIlabel怎么加载html字符串 富文本的用法

要加载html字符串,用人说,直接用webView啊!但是,有时候我们只需要显示2行文字,如此少的内容却要在复杂的UI排版中加入一个占用资源较多的webview,得不偿失。这里要说的是,我们其实可以用label即可加载html字符的,用富文本转一下html字符串即可。//创建UILabel_Test_Lbl = [[UILabel alloc] initWithFrame:CGRectMake(1...

weixin_33168794的博客 341

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

Probability and Statistics - 4th edition

Probability and Statistics - 4th edition

iOS之NSCanner的基本用法--扫描字符串

NSScanner是一个类,用于在字符串中扫描指定的字符,尤其是把它们翻译/转换为数字和别的字符串。可以在创建NSScaner时指定它的string属性,然后scanner会按照你的要求从头到尾地扫描这个字符串的每个字符。 刚创建时scanner对象指向字符串的开头。scanner方法开始扫描,比如scanInt:,scanDouble:,scanString:intoString:。如果你

代码解释生活 2892

文档:亲测可用解决vnc灰屏,黑屏,鼠标大黑叉情况

主要解决vnc-viewer灰屏,黑屏,鼠标大黑叉等现象,详细见文档。

ios中字符串(NSString)用法总结(持续更新)

1.创建字符串的方法 //四种创建字符串的方法         NSString* str1=@"Hello World";         NSString* str2=[[NSString alloc] initWithString:str1];         NSString* str3=[[NSString alloc] initWithUTF8String:"Hello

白云老鹤的专栏 546

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

iOS 你不知道的字符串用法

1.有的时候经常会有这样的数字 0.067 0.046757458 2.用了Float以后 就会在后面有很多的0 0.100000 3.后来发现字符串可以解决这个问题 它会去掉多余的0 具体使用是这样的 NSString *priceTotal = [NSString stringWithFormat:@"合计:¥%@",@(money)]; 4...

aidw91096的博客 101

iOS字符串的各种用法(字符串插入、字符串覆盖、字符串截取、分割字符串)...

NSString* str=@"hello";//存在代码区,不可变        NSLog(@"%@",str);                  //1.【字符串插入】         NSMutableString* str1=[[NSMutableStringalloc]initWithString:@"hello"];//存在堆区,可变字符串        NSLog(@"str1:...

weixin_34390996的博客 457

笔记:iOS字符串的各种用法(字符串插入、字符串覆盖、字符串截取、分割字符串)(别人的代码直接复制过来的,我脸皮有点厚)

NSString* str=@"hello";//存在代码区,不可变 NSLog(@"%@",str); //1.【字符串插入】 NSMutableString* str1=[[NSMutableStringalloc]initWithString:@"hello"];//存在堆区,可变字符串 NSLog(@"str1:%@",str1); [str1 insertString:@"234"atInd...

深蓝旭的博客 294

iOS swift UITextField 限制输入指定的字符 限制输入字符的长度

func textField(_ textField: UITextField, shouldChangeCharactersIn range: NSRange, replacementString string: String) -> Bool { if type == .cameraName { }else{ return true; } guard let text = te...

baidu_40537062的博客 2784

笔记:iOS字符串的各种用法(字符串插入、字符串覆盖、字符串截取、分割字符串)(别人的代码直接复制过来的,我脸皮有点厚)...

NSString* str=@"hello";//存在代码区,不可变 NSLog(@"%@",str); //1.【字符串插入】 NSMutableString* str1=[[NSMutableStringalloc]initWithString:@"hello"];//存在堆区,可变字符串 NSLo...

weixin_30713953的博客 202

iOS -Swift 3.0 -String(字符串常规用法)

1 // 2 3 // ViewController.swift 4 5 // Swift-String 6 7 // 8 9 // Created by luorende on 16/9/10. 10 11 // Copyright © 2016年 luorende. All rights reserved. ...

weixin_34148340的博客 107

iOS开发宝典:String用法大全

新手们还在等什么?这是一本属于你的iOS开发"字典",在这里你可以查到字符串、数组、字典的各式各样的用法与详述。 AD:2013云计算架构师峰会课程资料下载 一、NSString  创建字符串。  NSString *astring = @"This is a String!";   创建空字符串,给予赋值。  NSString *astring

Wally1985的专栏 571
下一篇: IOS 内存管理
NameUseNsstring
博客等级 码龄11年 1粉丝 24原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值