NSCharacter​Set使用

路径跟踪 | 图解分析人工势场算法APF(附ROS C++/Python/Matlab仿真) 人工势场法的基本思想是在机器人运动环境中创建一个势场,再搜索一条势函数下降的方向,寻找一条无碰撞的最优路径。本文介绍APF算法的基本原理,并提供势场可视化实现,基于ROS C++/Python/Matlab进行算法仿真实验加深理解 阅读详情

NSCharacter​Set使用

NSCharacterSet ,以及它的可变版本NSMutableCharacterSet,用面向对象的方式来表示一组Unicode字符。它经常与NSString及NSScanner组合起来使用,在不同的字符上做过滤、删除或者分割操作。为了给你提供这些字符是哪些字符的直观印象,请看看NSCharacterSet 提供的类方法:

  • alphanumericCharacterSet //
  • capitalizedLetterCharacterSet
  • controlCharacterSet //控制符
  • decimalDigitCharacterSet //小数
  • decomposableCharacterSet //可分解
  • illegalCharacterSet //非法字符
  • letterCharacterSet //文字
  • lowercaseLetterCharacterSet //小写字母
  • newlineCharacterSet //回车
  • nonBaseCharacterSet
  • punctuationCharacterSet //标点
  • symbolCharacterSet
  • uppercaseLetterCharacterSet //大写字符
  • whitespaceAndNewlineCharacterSet //回车和空格
  • whitespaceCharacterSet //空格

与它的名字所表述的相反,NSCharacterSet 跟 NSSet 一点关系都没有。
虽然底层实现不太一样,但是 NSCharacterSet 在概念上跟 NSIndexSet 还有点相似的。NSIndexSet,之前提到过,表示一个有序的不重复的无符号整数的集合。Unicode字符跟无符号整数类似,大致对应一些拼写表示。所以,一个 NSCharacterSet +lowercaseCharacterSet 字符集与一个包含97到122范围的 NSIndexSet 是等价的。
现在我们对理解 NSCharacterSet 的基本概念已经有了少许自信,让我们来看一些它的模式与反模式吧:

删除字符产前后空格

NSString -stringByTrimmingCharactersInSet: 是个你需要牢牢记住的方法。它经常会传入 NSCharacterSet +whitespaceCharacterSet 和 +whitespaceAndNewlineCharacterSet 来删除输入字符串的头尾的空白符号, 或者传入uppercaseLetterCharacterSet和lowercaseLetterCharacterSet删除首尾大小写

删除字符串中所有空格

假设你去掉字符串两端的多余空格之后,还想去除单词之间的多余空格,这里有个非常简便的方法:

NSString *string = @"Lorem    ipsum dolar   sit  amet.";
string = [string stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceCharacterSet]];

NSArray *components = [string componentsSeparatedByCharactersInSet:[NSCharacterSet  whitespaceCharacterSet]];
components = [components filteredArrayUsingPredicate:[NSPredicate predicateWithFormat:@"self    <> ''"]];
string = [components componentsJoinedByString:@" "];

首先,删除字符串首尾的空格;然后用 NSString -componentsSeparatedByCharactersInSet: 在空格处将字符串分割成一个 NSArray;再用一个 NSPredicate 去除空串;最后,用 NSArray -componentsJoinedByString: 用单个空格符将数组重新拼成字符串。注意:这种方法仅适用于英语这种用空格分割的语言

字符串分词

不要用 NSCharacterSet 来分词。 用 CFStringTokenizer 来替代它。
你用 componentsSeparatedByCharactersInSet: 来清理用户输入是可以谅解的,但是用它来做更复杂的事情,你将陷入痛苦的深渊。
为什么?请记住,语言并不是都用空格作为词的分界。虽然实际上以空格分界的语言使用非常广泛。但哪怕只算上中国和日本就已经有十多亿人,占了世界人口总量的 16%。
……即使是用空格分隔的语言,分词也有一些模棱两可的边界条件,特别是复合词汇和标点符号。
以上只为说明:如果你想将字符串分成有意义的单词,那么请用 CFStringTokenizer (或者 enumerateSubstringsInRange:options:usingBlock:)吧。

使用OpenCV从低对比度图像中提取圆形轮廓 希望本文能帮助您从低对比度图像中提取圆形轮在本文中,我们将探讨如何使用OpenCV库从低对比度图像中提取圆形轮廓。低对比度图像通常指的是图像中的亮度差异很小,导致物体边缘不够清晰的情况。在本文中,我们将探讨如何使用OpenCV库从低对比度图像中提取圆形轮廓。低对比度图像通常指的是图像中的亮度差异很小,导致物体边缘不够清晰的情况。通过预处理图像并应用Hough变换,我们能够在低对比度图像中准确地提取圆形轮廓。通过预处理图像并应用Hough变换,我们能够在低对比度图像中准确地提取圆形轮廓。 阅读详情

相关推荐

STM32外围电路硬件解析

复位 :让MCU回到最开始的状态。并且从头开始,重新执行程序 我们什么时候需要复位? 1.烧录的时候 2.程序跑飞了的时候 3.上电复位(上电的时候需要复位) 复位方式: 1.上电复位: --- 一定要有 MCU的Reset是复位引脚,当这个引脚为低电平时,

qq_39577221的博客 1万+

去空格 whitespaceAndNewlineCharacterSet和过滤字符串

一、过滤字符串   可以使用stringByTrimmingCharactersInSet函数过滤字符串中的特殊符号   首先自己定义一个NSCharacterSet, 包含需要去除的特殊符号 NSCharacterSet *set = [NSCharacterSet characterSetWithCharactersInString:@"@/:;()¥「」"、[]{}#%-*...

weixin_33690963的博客 314

Ubuntu22.04安装ROS2 —— ROS2 humble 详细图文教程

本文详细介绍了如何在Ubuntu22.04(Jammy)系统下配置ROS2环境,安装RO2软件包,并验证安装成功。ROS2的版本是Humble Hawksbill。:ROS是一个开源的,提供硬件抽象、设备驱动、库、工具和通信机制,支持模块化开发与集成,广泛用于机器人控制和自动化应用。ROS2 相较于 ROS1 在架构设计、通信机制和平台支持等方面做出了改进。ROS1 采用集中式主节点(Master)进行节点间通信,存在单点故障风险,且实时性和跨平台支持较弱。

weixin_49649078的博客 8815

NSString新用法 字符串_过滤处理NSCharacterSet 与invertedSet

1. //有字符串“A~B^C_D>E",拆分出单个字母:             NSString *str =@"      A~B^C_D>E       ";             str = [str stringByTrimmingCharactersInSet:[NSCharacterSetwhitespaceAndNewlineCharacterSet]];//去掉前

ridxmc的博客 1461

深入解析摄像头硬件接口:DVP、MIPI-CSI2与USB的技术对比与应用场景

本文深入解析了摄像头三大主流硬件接口DVP、MIPI-CSI2与USB的核心技术差异。DVP接口作为并行传输的“老兵”,成本低但带宽和抗干扰能力有限;MIPI-CSI2凭借差分串行设计成为移动高清设备的首选,具备高带宽和强抗干扰性;USB接口则依托UVC标准实现了跨平台的即插即用。文章通过对比传输方式、带宽、应用场景等关键维度,为智能硬件、嵌入式系统等领域的工程师提供了清晰的选择指南。

c7d8e的博客 515

用UltraISO制作镜像以RAW格式刻录系统到U盘后,在Windows上无法识别的解决办法

在这篇文章中,用UltraISO制作镜像后,会使得U盘无法识别!!!那么,如何抹掉U盘的数据,格式化U盘呢?

拥抱具身智能,昇腾Ascend C 2730

NSCharacterSet使用方法总结

需求中需要限制UITextField的输入和粘贴内容,特此总结相关用法,以备以后查询使用 1、常用的创建NSCharacterSet的类方法 系统提供的快捷创建方法: //获取所选字符串以外的的内容 @property (readonly, copy) NSCharacterSet *invertedSet;//相反字符串限制 [NSCharacterSet controlCha...

阿飞小伙子_博客 1290

【误码率仿真】基于matlab 小波变换OFDM误码率仿真

其中,与传统的 OFDM 相比,小波变换 OFDM 在进行调制和解调时,使用的是小波变换函数。需要注意的是,由于小波变换函数将频域信号转换为时域信号,因此与传统 OFDM 不同,小波变换 OFDM 中的信号需要在时域上添加循环前缀。与传统的 OFDM 不同,小波变换 OFDM 使用小波函数作为基函数,而非正弦函数作为基函数,因此可以在保持子载波正交性的同时,让子载波之间的带宽变得更加均匀。在频域进行信号加权,然后进行小波逆变换,得到时域信号。在接收端进行信号接收,去掉循环前缀并进行小波变换得到频域信号。

Fanjufei的博客 662

OC : NSCharacterSet (字符串的操作)

API//相反字符串限制 @property (readonly, copy) NSCharacterSet *invertedSet;+ (NSMutableCharacterSet *)controlCharacterSet;//空格 + (NSMutableCharacterSet *)whitespaceCharacterSet;//空格和换行符 + (NSMutableCharacterS

水清_木秀的博客 543

C#【必备技能篇】Winform实现多语言切换(.resx文件的应用)

在实际的项目开发中,软件需要实现多语言切换。本文通过一个实际的例子,可以让你学习到这个技能。

星Yeah 的博客 1万+

装上大模型翅膀,程序员入职新公司如何快速上手代码(老员工如何选择大模型编程如虎添翼)

入职新公司,尤其是行业知识不懂的,面对前人堆积的屎山代码,各种文档又缺少的,有些技术自己又不懂的,如何快速上手代码,特别是借助AI大模型事半功倍的上手项目代码。进入新公司,我做的第一件事就是收集情报。我主动向同事们索要项目的相关资料,包括项目介绍文档、功能说明文档和业务流程图等。通过仔细阅读这些资料,可以对项目的背景和架构有了初步的了解。同时要逮住机会就向同事们请教项目的迭代历程和技术选型背后的考量。有时他们三言二语,可以为自己节省很多探索时间。在了解了项目的基本情况后,可以开始深入探究项目的业务流程。

大模型大数据攻城狮的专栏 1132

去空格 whitespaceAndNewlineCharacterSet

1.去掉两端的空格 [cpp] view plaincopyprint? [str stringByTrimmingCharactersInSet:[NSCharacterSet whitespaceAndNewlineCharacterSet]]    2.去掉多余的空格 [cpp] view p

liwuking的专栏 950

跨境电商产品信息抓取:使用Python爬虫进行市场分析

跨境电商平台是指为不同国家和地区的买卖双方提供在线交易服务的电子商务平台。亚马逊(Amazon):全球最大的电商平台之一,提供丰富的商品种类和全球配送服务。eBay:全球知名的在线拍卖和购物网站,支持个人和企业卖家。速卖通(AliExpress):阿里巴巴旗下的跨境电商平台,主要面向全球消费者提供中国制造的商品。Wish:以移动端为主的跨境电商平台,主打低价商品和个性化推荐。这些平台上的商品数据包括商品名称、价格、销量、用户评价、库存等信息,对于市场分析具有重要价值。

2201_76125261的博客 1233

NSCharacterSet的使用

NSCharacterSet :以及它的可变版本NSMutableCharacterSet,用面向对象的方式来表示一组Unicode字符。它经常与NSString及NSScanner组合起来使用,在不同的字符上做过滤、删除或者分割操作。NSCharacterset是无需字符集合,主要用来判断已知字符串是否包含制定字符集,而不可以用来保存字符串。因为字符所参与的部分经常是关键代码,你在应用中使用时应该

欢迎来到Jack的程序世界 4373

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

精雕软件(JDpaint) 5.5 绿色版

精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版精雕软件(JDpaint) 5.5 绿色版

NSCharacterSet stringByTrimmingCharactersInSet

转自:http://blog.youkuaiyun.com/shencaifeixia1/article/details/8232593 NSString 和NSCharacterset的不同之处 An NSString object represents a string of ordered characters (text). An NSCharacterSet object repre

wangwei0327的专栏 1122

大中型超市收银系统(可直接运行)

光步前台收银系统系统功能:商品销售、商品退货、挂单、收银员权限、会员销售、单品取消、整单取消、商品查询、脱机销售、脱机数据上传,基本资料下载,开钱箱、小票打印、收款结算,支持多币种付款方式(现金、储值卡、礼券、微信等),支持多种促销。运行环境:.net 4.0登陆信息用户名:1001 密码:123456内置商品信息,商品编码可输入00001000 - 00010000,测试效果相关功能键F5 结算 F9挂单 F11商品查询 F8退货 Insert单品取消 Del整单取消 F12开钱箱F2 会员 Ctrl+Z退出系统 Home 锁屏 相关源码待公开

NSCharacterSet使用

(一)NSCharacterSet作用: 对字符串进行上做过滤、删除或者分割操作 + (NSCharacterSet *)controlCharacterSet; //控制符 + (NSCharacterSet *)whitespaceCharacterSet; //空格 + (NSCharacterSet *)whitespaceAndNewlineCharact...

as407017377的博客 241

STM32F407中文手册

STM32f407中文手册 本参考手册面向应用开发人员,提供有关使用 STM32F405xx/07xx、STM32F415xx/17xx、 STM32F42xxx 和 STM32F43xxx 微控制器存储器与外设的完整信息。STM32F405xx/07xx、STM32F415xx/17xx、STM32F42xxx 和 STM32F43xxx 构成一个微 控制器系列,各产品具有不同的存储器大小、封装和外设。有关订购信息以及器件的机械与电气特性,请参见数据手册。有关 ARM Cortex™-M4F 内核的信息,请参见《Cortex™-M4F 技术参考手册》。

NSCharacterSet

NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到   NSMutableCharacterSet *base = [NSMutableCharacterSet lowercaseLetterCharacterSet]; //字母   NSCharacterSet *decimalDigit = [NSCharacterSet decimalDig

u011194397的专栏 761

NSCharacterSet 介绍

转载自:http://nshipster.cn/nscharacterset/ 正如之前提前过的,基础类库(Foundation)拥有最好的、功能也最全的string类的实现。 但是仅当程序员熟练掌握它时,一个string的实现才是真的好。所以本周,我们将浏览一些基础类库的string生态系统中经常用到且用错的重要组成部分:NSCharacterSet。 如果你对什么是字符编

逢个场,作个戏 995

NSCharacterSet stringByTrimmingCharactersInSet

NSString 和NSCharacterset的不同之处 An NSString object represents a string of ordered characters (text). An NSCharacterSet object represents a set of characters in no particular order. It is often much qui

逢个场,作个戏 680

NSCharacterset 和NSString

IOS 官方文档对NSCharacterset 的介绍 An NSCharacterSet object represents a set of Unicode-compliant characters. NSString and NSScanner objects use NSCharac...

chengzhuichi6662的博客 136

NSCharacterSet 简单用法

NSCharacterSet 简单用法 NSCharacterSet其实是许多字符或者数字或者符号的组合,在网络处理的时候会用到   NSMutableCharacterSet *base = [NSMutableCharacterSet lowercaseLetterCharacterSet]; //字母   NSCharacterSet *decimalDigit = [

hughwang90的专栏 766

NSCharacterSet 详解

正如之前提前过的,基础类库(Foundation)拥有最好的、功能也最全的string类的实现。 但是仅当程序员熟练掌握它时,一个string的实现才是真的好。所以本周,我们将浏览一些基础类库的string生态系统中经常用到且用错的重要组成部分:NSCharacterSet。 如果你对什么是字符编码搞不清楚的话(即使你有很好的专业知识),那么你应该抓住这次机会反复阅读Joel Spol

优快云_wanghaijun的博客 652

NSCharacterSet对字符串的处理

1、通过NSCharacterSet处理字符串 NSCharacterSet * set = [[NSCharacterSet characterSetWithCharactersInString:@"123"] invertedSet]; NSString * originalStr = @"1y3j g425"; NSString * finStr = [[originalStr com...

卖报的小行家 851
上一篇: NSString
下一篇: NSArray
wangjunling888
博客等级 码龄11年 24粉丝 78原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值