NSString:创建,长度,取字符,是否以某字符串开头,结尾, 查找指定字符串的范围,截取,拼接,替换,比较,替换,数值转换,大小写转换

agv调度系统3.0技术介绍 agv调度系统,穿梭车调度系统,调度系统技术介绍,教你做调度 阅读详情
<span style="font-size:18px;">//1 创建对象
        //1 便利构造器(+号方法)
        NSString *str1 = [NSString stringWithFormat:@"iPhone%d", 5];
        NSLog(@"str1 = %@", str1);
        //2 alloc+初始化方法
        NSString *str2 = [[NSString alloc] initWithFormat:@"iPhone%d", 4];
        NSLog(@"str2 = %@", str2);
        //(3) 根据字符串初始化OC字符串对象
        NSString *str3 = @"lanou";//存储字符串@"lanou"的地址
        //2 求字符串长度
        NSUInteger length = [str3 length];
        NSLog(@"length = %lu", length);
        
        //3 获取字符串总的某个字符
        //Terminating app due to uncaught exception 'NSRangeException', reason: '-[__NSCFConstantString characterAtIndex:]: Range or index out of bounds'
        //reason:问题产生的原因 .NSCFString == NSString, 又是一个-号方法, 所以问题产生的原因是:让一个NSString的类型对象, 调用characterAtIndex:方法时, 给定的下标越界了, 超出了范围
        //解决方案:将数组下标修改为范围之内的数即可
        unichar charac = [str3 characterAtIndex:4];
        NSLog(@"%c", charac);
        
        //4 判断是否以指定的字符串开头或结尾
        //例如:判断一个字符串是否以http开头, 是否以.com结束
        NSString *str4 = [[NSString alloc] initWithFormat:@"http://www.baidu.com"];
        //判断是否以http开头
        BOOL isPrefix = [str4 hasPrefix:@"http"];
        NSLog(@"isPrefix = %d", isPrefix);
        
        BOOL isSuffix = [str4 hasSuffix:@".com"];
        NSLog(@"isSuffix = %d", isSuffix);
        
        //5 查找指定字符串的范围
        NSRange range = [str4 rangeOfString:@"www"];
        if (range.length == 0) {
            NSLog(@"No Found");
        } else {
        NSLog(@"location:%lu, length:%lu", range.location, range.length);
            //将NSRange类型的结构体变量转变成字符串对象
            NSLog(@"%@", NSStringFromRange(range));
        }
        
        //6 字符串截取(获取子字符串)
        //1 获取给定的下标之后的子串, 包含指定下标对应的字符
        //2 获取给定的下标之前的子串, 但是不包含指定下标对应的字符
        //3 获取指定范围内的子串
        NSString *subString1 = [str4 substringFromIndex:7];
        NSLog(@"subString1 = %@", subString1);
        
        NSString *subString2 = [str4 substringToIndex:7];
        NSLog(@"subString2 = %@", subString2);
        
        NSString *subString3 = [str4 substringWithRange:NSMakeRange(7, 4)];
        NSLog(@"subString3 = %@", subString3);
        
        //7 字符串拼接
        NSString *str5 = [NSString stringWithFormat:@"lanou"];
        //lanou后拼接henan
        NSString *str6 = [str5 stringByAppendingString:@"henan"];
        NSLog(@"str6 = %@", str6);
        //lanou后拼接henan9ban
        NSString *str7 = [str5 stringByAppendingFormat:@"%@%dban", str6, 9];//Format可以格式化输出
        NSLog(@"str7 = %@", str7);
        
        //8 替换字符串
        NSString *str8 = [NSString stringWithFormat:@"lanouououisbigcompany"];
        //1将o替换成牛逼
        //第一个参数是被替换字符串  第二个参数是替换字符串
        NSString *str9 = [str8 stringByReplacingOccurrencesOfString:@"ou" withString:@"牛逼"];
        NSLog(@"str9 = %@", str9);
        
        NSString *str10 = [str8 stringByReplacingCharactersInRange:NSMakeRange(3, 2) withString:@"牛逼"];
        NSLog(@"str10 = %@", str10);
        
        //9 字符串比较
        NSString *str11 = [NSString stringWithFormat:@"bbc"];
        NSString *str12 = [NSString stringWithFormat:@"bbc"];
        NSInteger result1 = [str11 compare:str12];
        NSLog(@"result1 = %ld", result1);
        
        NSComparisonResult result2 = [@"311" compare:@"222"];
        NSLog(@"result2 = %ld", result2);
        
        //10 字符串和数值类型转换  从第一个字符开始如果在遇到除了空格之外的字符时, 将前面的空格忽略掉, 继续往下找, 读取数字, 直到遇到非数字时结束
        //1 将字符串@"123"转换为整数123
        NSInteger result3 = [@"    12a3as" intValue];
        NSLog(@"%result3 = ld", result3);
        //2 将数字转为字符串对象
        NSString *str13 = [NSString stringWithFormat:@"%d", 5];
        NSLog(@"str13 = %@", str13);
        
        //11大小写装换
        //1 将@"lanOU"全部转为大写  uppercaseString 转为 LANOU
        //2 将@"lanOU"全部转为小写 lowercaseString 转为 lanou
        //3 将@"lanOU"首字母转为大写 capitalizedString 转为  Lanou
        NSString *str14 = [@"lanOU" capitalizedString];
        NSLog(@"str14 = %@", str14);</span>

别再瞎调参数了!用MATLAB fmincon优化傅里叶级数,为你的机器人设计“完美”激励轨迹 本文详细介绍了如何利用MATLAB的fmincon优化器设计机器人激励轨迹,通过优化傅里叶级数参数,解决传统试错法的低效问题。文章涵盖了目标函数设计、约束条件转化及优化算法选择,帮助工程师实现高精度的系统辨识和动力学参数优化。 阅读详情

相关推荐

从零到一:如何用YOLOv8和PyQt5打造一个高效的路面坑洞检测系统

本文详细介绍了如何利用YOLOv8和PyQt5开发一个高效的路面坑洞检测系统。从环境配置、数据采集标注到模型训练优化,再到PyQt5界面开发与系统集成,提供了完整的实战指南。该系统结合深度学习技术,显著提升了道路检测的准确性和效率,适用于各类道路维护场景。

weixin_29047919的博客 308

iOS字符串NSString中去掉空格(或替换为某个字符串)

zhuan'zai'z 1、使用NSString中的stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceCharacterSet]]方法只是去掉左右两边的空格;  2、使用NSString *strUrl = [urlString stringByReplacingOccurrencesOfString:@" "withStri

harryptter的专栏 1287

Autosar Os降低CPU负载的方案总结

由于各个项目的实际场景不尽相同,可能需要有针对性的对症优化。如果你还有别的一些优化手段欢迎留言交流。

3676

NSString 截取—开头和结尾—替换--包含

//从指定的地方到指定的地方 NSUInteger strNum = [UserDefaults stringForKey:@"mobile"].length;         NSString *str = [[UserDefaults stringForKey:@"mobile"] substringWithRange:NSMakeRange(strNum-4, 4)]; //从开头到

kkkkkk12121212的博客 897

Tesseract in Java - Intellij IDEA对Tess4J的配置和使用

最近要弄OCR,搜到这个,官网全英文,很烦,看看有没有中文的博客介绍,擦,一个比一个奇葩,还是自己按照官方的来吧,外网慢的很,传到csdn给大家下载。中文训练库下载地址: http://download.youkuaiyun.com/detail/d_dmelon/9916532Tess4J3.4下载地址: http://download.youkuaiyun.com/detail/d_dmelon/9916519安装

Lewis的博客 1万+

R语言实战:5分钟搞定相加交互效应分析(逻辑回归/Cox回归/GLMM/GEE全支持)

本文详细介绍了如何利用R语言中的`scitable`包快速实现相加交互效应分析,支持逻辑回归、Cox回归、GLMM和GEE等多种模型。通过自动化计算RERI、AP和SI等指标,大幅提升临床研究和流行病学分析的效率与准确性,特别适合处理多因素联合作用的复杂场景。

fanta的博客 669

Range or index out of bounds

异常原因:Range or index out of bounds y

duoduo_333的专栏 2130

HFSS实战项目——基片集成波导(SIW)带通滤波器

设计了一款直接耦合的SIW带通滤波器, 采用直接耦合的形式, 工作频率覆盖19~21 GHz, 通带内插入损耗小于1.5 dB, 回波损耗小于-20 dB, 带外抑制特性良好.

2401_87464239的博客 4895

iOS 字符串替换

有这样的需求 字符串中有几处特殊字符,我们需要替换 此时可以考虑使用NSString 的方法  stringByReplacingOccurrencesOfString 我们看一个简单例子 NSString * string=@"2011-11-29"; string=[string stringByReplacingOccurrencesOfString:@"

5万+

UG\NX二次开发 找不到指定的dlx文件(Specified Dlx file not found)

有群友问:用Ctrl+U运行的时候就报错,找不到指定的dlx文件Specified Dlx file not found。怎么处理。

王牌飞行员_里海的博客 1129

Docker(八):Docker Compose(容器编排) 管理多容器应用—实战案例演示

🟢 Docker(八):Docker Compose(容器编排) 管理多容器应用—实战案例演示

✨ 欢迎来到【Seal ^_^ 的优快云博客】!✨ 6万+

字符串相关操作

1 便利构造器(+号方法) NSString*str1=[NSStringstringWithFormat:@"iPhone%d",5]; NSLog(@"str1=%@",str1); //2alloc+初始化方法 NSString*str2=[[NS...

chizhexian1379的博客 224

Openclaw错误分析与解决方案之:All models are temporarily rate-limited. Please try again in a few minutes

Openclaw错误分析与解决方案之: All models are temporarily rate-limited. Please try again in a few minutes.

多媒体编程、网络编程、系统编程、网络安全编程、驱动编程 1617

OC 字符串NSString 创建 拼接 插入 修改 删除 查找判断等基础用法

NSString 创建字符串 初始化方法 NSString *str = [[NSString alloc]init]; NSString *str = [[NSString alloc]initWithFormat:@"aaa"]; NSString *string = [[NSString alloc]initWithFormat:@"aaa%@%d"

haitianloves的专栏 4109

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

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

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

OC学习(四)不可变字符串类和可变字符串类

今天系统性的学习了OC中的NSString(字符串)类以及它的子类()

Kevin_Rao的专栏 1019

深度学习工具包 DeepLearningToolbox

深度学习工具包Deprecation notice.-----This toolbox is outdated and no longer maintained.There are much better tools available for deep learning than this toolbox, e.g. [Theano](http://deeplearning.net/software/theano/), [torch](http://torch.ch/) or [tensorflow](http://www.tensorflow.org/)I would suggest you use one of the tools mentioned above rather than use this toolbox.Best, Rasmus.DeepLearnToolbox================A Matlab toolbox for Deep Learning.Deep Learning is a new subfield of machine learning that focuses on learning deep hierarchical models of data.It is inspired by the human brain's apparent deep (layered, hierarchical) architecture.A good overview of the theory of Deep Learning theory is[Learning Deep Architectures for AI](http://www.iro.umontreal.ca/~bengioy/papers/ftml_book.pdf)For a more informal introduction, see the following videos by Geoffrey Hinton and Andrew Ng.* [The Next Generation of Neural Networks](http://www.youtube.com/watch?v=AyzOUbkUf3M) (Hinton, 2007)* [Recent Developments in Deep Learning](http://www.youtube.com/watch?v=VdIURAu1-aU) (Hinton, 2010)* [Unsupervised Feature Learning and Deep Learning](http://www.youtube.com/watch?v=ZmNOAtZIgIk) (Ng, 2011)If you use this toolbox in your research please cite [Prediction as a candidate for learning deep hierarchical models of data](http://www2.imm.dtu.dk/pubdb/views/publication_details.php?id=6284)```@MASTERSTHESIS\{IMM2012-06284, author = "R. B. Palm", title = "Prediction as a candidate for learning deep hierarchical models of data", year = "2012",}```Contact: rasmusbergpalm at gmail dot comDirectories included in the toolbox-----------------------------------`NN/` - A library for Feedforward Backpropagation Neural Networks`CNN/` - A library for Convolutional Neural Networks`DBN/` - A library for Deep Belief Networks`SAE/` - A library for Stacked Auto-Encoders`CAE/` - A library for Convolutional Auto-Encoders`util/` - Utility functions used by the libraries`data/` - Data used by the examples`tests/` - unit tests to verify toolbox is workingFor references on each library check REFS.mdSetup-----1. Download.2. addpath(genpath('DeepLearnToolbox'));Example: Deep Belief Network---------------------```matlabfunction test_example_DBNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit RBM and visualize its weightsrand('state',0)dbn.sizes = [100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);figure; visualize(dbn.rbm{1}.W'); % Visualize the RBM weights%% ex2 train a 100-100 hidden unit DBN and use its weights to initialize a NNrand('state',0)%train dbndbn.sizes = [100 100];opts.numepochs = 1;opts.batchsize = 100;opts.momentum = 0;opts.alpha = 1;dbn = dbnsetup(dbn, train_x, opts);dbn = dbntrain(dbn, train_x, opts);%unfold dbn to nnnn = dbnunfoldtonn(dbn, 10);nn.activation_function = 'sigm';%train nnopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.10, 'Too big error');```Example: Stacked Auto-Encoders---------------------```matlabfunction test_example_SAEload mnist_uint8;train_x = double(train_x)/255;test_x = double(test_x)/255;train_y = double(train_y);test_y = double(test_y);%% ex1 train a 100 hidden unit SDAE and use it to initialize a FFNN% Setup and train a stacked denoising autoencoder (SDAE)rand('state',0)sae = saesetup([784 100]);sae.ae{1}.activation_function = 'sigm';sae.ae{1}.learningRate = 1;sae.ae{1}.inputZeroMaskedFraction = 0.5;opts.numepochs = 1;opts.batchsize = 100;sae = saetrain(sae, train_x, opts);visualize(sae.ae{1}.W{1}(:,2:end)')% Use the SDAE to initialize a FFNNnn = nnsetup([784 100 10]);nn.activation_function = 'sigm';nn.learningRate = 1;nn.W{1} = sae.ae{1}.W{1};% Train the FFNNopts.numepochs = 1;opts.batchsize = 100;nn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.16, 'Too big error');```Example: Convolutional Neural Nets---------------------```matlabfunction test_example_CNNload mnist_uint8;train_x = double(reshape(train_x',28,28,60000))/255;test_x = double(reshape(test_x',28,28,10000))/255;train_y = double(train_y');test_y = double(test_y');%% ex1 Train a 6c-2s-12c-2s Convolutional neural network %will run 1 epoch in about 200 second and get around 11% error. %With 100 epochs you'll get around 1.2% errorrand('state',0)cnn.layers = { struct('type', 'i') %input layer struct('type', 'c', 'outputmaps', 6, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %sub sampling layer struct('type', 'c', 'outputmaps', 12, 'kernelsize', 5) %convolution layer struct('type', 's', 'scale', 2) %subsampling layer};cnn = cnnsetup(cnn, train_x, train_y);opts.alpha = 1;opts.batchsize = 50;opts.numepochs = 1;cnn = cnntrain(cnn, train_x, train_y, opts);[er, bad] = cnntest(cnn, test_x, test_y);%plot mean squared errorfigure; plot(cnn.rL);assert(er<0.12, 'Too big error');```Example: Neural Networks---------------------```matlabfunction test_example_NNload mnist_uint8;train_x = double(train_x) / 255;test_x = double(test_x) / 255;train_y = double(train_y);test_y = double(test_y);% normalize[train_x, mu, sigma] = zscore(train_x);test_x = normalize(test_x, mu, sigma);%% ex1 vanilla neural netrand('state',0)nn = nnsetup([784 100 10]);opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samples[nn, L] = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.08, 'Too big error');%% ex2 neural net with L2 weight decayrand('state',0)nn = nnsetup([784 100 10]);nn.weightPenaltyL2 = 1e-4; % L2 weight decayopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex3 neural net with dropoutrand('state',0)nn = nnsetup([784 100 10]);nn.dropoutFraction = 0.5; % Dropout fraction opts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex4 neural net with sigmoid activation functionrand('state',0)nn = nnsetup([784 100 10]);nn.activation_function = 'sigm'; % Sigmoid activation functionnn.learningRate = 1; % Sigm require a lower learning rateopts.numepochs = 1; % Number of full sweeps through dataopts.batchsize = 100; % Take a mean gradient step over this many samplesnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex5 plotting functionalityrand('state',0)nn = nnsetup([784 20 10]);opts.numepochs = 5; % Number of full sweeps through datann.output = 'softmax'; % use softmax outputopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, train_x, train_y, opts);[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');%% ex6 neural net with sigmoid activation and plotting of validation and training error% split training data into training and validation datavx = train_x(1:10000,:);tx = train_x(10001:end,:);vy = train_y(1:10000,:);ty = train_y(10001:end,:);rand('state',0)nn = nnsetup([784 20 10]); nn.output = 'softmax'; % use softmax outputopts.numepochs = 5; % Number of full sweeps through dataopts.batchsize = 1000; % Take a mean gradient step over this many samplesopts.plot = 1; % enable plottingnn = nntrain(nn, tx, ty, opts, vx, vy); % nntrain takes validation set as last two arguments (optionally)[er, bad] = nntest(nn, test_x, test_y);assert(er < 0.1, 'Too big error');```[![Bitdeli Badge](https://d2weczhvl823v0.cloudfront.net/rasmusbergpalm/deeplearntoolbox/trend.png)](https://bitdeli.com/free "Bitdeli Badge")

1、NSString (字符串)

// 1、字符串的创建 NSString * string1 = @"123abc"; NSString * string2 = [NSString stringWithFormat:@"123%@",string1];//@"123123abc" NSString * string3 = [[NSString alloc] init]; string3 = ...

shengdaVolleyball的博客 414

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

Foundation 之字符串 NSString和NSMutableString 用法

1.NSString 字符串常用方法 1.0      OC、C字符串类型转换 char *s = @“hello”; NSString *str = @“hello”; C->OC:     NSString *str1 = [NSString stringWithUTF8String:s]; OC->C:     [str UTF8Strig]; 1.1     创建字符串、格式化

someone的博客 395

NSString 常用处理方法

1. 初始化方法;

chang__kaun的专栏 750

OC第六讲字符串函数

oc中的字符串

jelly_1992的专栏 666

IOS———NSString

捡起去年学习的iOS,从基础开始,一步一步,完成它! 一、iOS之NSString NSString主要是针对字符串的一套用法,主要功能有: (1)字符串显示(直接显示,间接显示) (2)字符串截取,拼接,替换,比较,分割,遍历,转换 1.字符串显示 //初始化 //方法一: NSString *astring= @"how are you"; NSLog(@"astring %@...

banana 357

OC语言-----NSString,NSMutableString基本用法

//NSMutableString(可变字符串)的拼接,删除.插入.替换 NSMutableString *str = [NSMutableString stringWithFormat:@"lanouhenan"]; //对于可变字符串的增删改方法, 都是在原字符串基础上进行修改, 所以修改之后的原字符串的内容发生变化, 所以无需返回值 //1

ShuMR_0379的专栏 1326

字符串:可变字符串与不可变字符串

一 NSString是不可变字符串,所有它所有产生其他字符串方法都是生成一个新的字符串,而不会改变原来字符串 第一种:字面量,它是常量字符串,存储常量区 NSString *str = @"abc"; 第二种是通过 快捷的构造方法 NSString stringWithFormat: 第三种方式 初始化方法 [NSString alloc] initWithFormat: 二,字

anywhereIOS的博客 3458

【IOS】NSString字符串的用法

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

denghua8301的博客 137

NSString练习

// //  main.m //  NSString // //  Created by dllo on 15/7/20. //  Copyright (c) 2015年 Clare. All rights reserved. // #import int main(int argc, const char * argv[])

Clare_BiJuan的博客 565

OC NSString 字符串操作详细解析

在iOS开发中NSString被广泛的使用,系统中为NSString提供了很多实用的方法。具体如下: 字符串大小写转换 //@property (readonly, copy) NSString *uppercaseString; 字符串全部转为大写 //@property (readonly, copy) NSString *lowercaseString; 字符串全部转为小写 //@prope

Garvey's Blog 1085

不可变字符串(NSString)与可变字符串(NSMutableString)

一,不可变字符串(NSString); 1.直接赋值NSString *string1=@"nihao";2.先分配内存后赋值NSString *string2=[[NSString alloc]init]; string2=@"nihao";3.工厂方法制造对象NSString *string3=[NSString stringWithFormat:@"nihao"]; /* 注意: NSStr

fanzef2n9的博客 533
上一篇: 继承
下一篇: NSMutableString,可变字符串,拼接,删除,插入,替换
vaercly
博客等级 码龄12年 46粉丝 151原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值