如何获取NSString的子字符串?

2023-12-22

如果我想从 NSString 获取值@"value:hello World:value",我应该用什么?

我想要的返回值是@"hello World".


选项1:

NSString *haystack = @"value:hello World:value";
NSString *haystackPrefix = @"value:";
NSString *haystackSuffix = @":value";
NSRange needleRange = NSMakeRange(haystackPrefix.length,
                                  haystack.length - haystackPrefix.length - haystackSuffix.length);
NSString *needle = [haystack substringWithRange:needleRange];
NSLog(@"needle: %@", needle); // -> "hello World"

选项2:

NSRegularExpression *regex = [NSRegularExpression regularExpressionWithPattern:@"^value:(.+?):value$" options:0 error:nil];
NSTextCheckingResult *match = [regex firstMatchInString:haystack options:NSAnchoredSearch range:NSMakeRange(0, haystack.length)];
NSRange needleRange = [match rangeAtIndex: 1];
NSString *needle = [haystack substringWithRange:needleRange];

不过,对于您相当微不足道的案例来说,这可能有点过头了。

选项 3:

NSString *needle = [haystack componentsSeparatedByString:@":"][1];

这个在分割时创建了三个临时字符串和一个数组。


所有片段都假设搜索的内容实际上包含在字符串中。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何获取NSString的子字符串? 的相关文章

  • C++ 引用类型作为 Objective-C++ 中的实例变量

    Objective C 中禁止将 C 引用类型用作实例变量 我该如何解决这个问题 您不能明智地使用引用作为实例变量 因为无法初始化实例变量并且无法重新放置引用 另一种选择可能是简单地使用 可能是智能的 指针 另一种让您更接近 C 行为的可能
  • 没有这样的模块“Ensembles”错误 - 导入 Objective-C 框架以在 swift 项目中使用

    我将 Ensembles 添加到我的 Swift 项目 在这里找到https github com drewmccormack ensembles https github com drewmccormack ensembles 我没能在我
  • 将 NSDecimalNumber 转换为 NSString

    我正在从如下所示的对象中检索密钥 po obj TypeID 3 TypeName Asset 键值的检索方式如下 NSString typeId NSString obj objectForKey TypeID typeId 不是 NSS
  • 循环缓冲区录音 iOS:可能吗?

    我的一个客户想要连续录制音频 当他单击 提交 时 他只想提交最后 10 秒的内容 所以他想要连续记录并且只保留最后 x 秒 我认为这需要类似循环缓冲区的东西 但是 作为 iOS 的新手 它看起来像AVAudioRecorder只能写入文件
  • AVPlayerLayer获取图像到UIImageView缓冲区

    我尝试 playerLayer renderInContext UIGraphicsGetCurrentContext 它将显示黑色背景 所以我得到当前播放器项目作为连续的重击图像 它看起来不像视频播放 只是静态图像连续流动 那么还有其他选
  • for 循环内存不足

    嘿 所以我认为如果我制作一个生成随机密码的小应用程序 然后让该应用程序运行所有可能性并尝试查看密码是什么 告诉我它尝试了多少次 那会很酷 有时应用程序可以工作 有时会崩溃 具体取决于密码是什么 我想知道是否可以采取任何措施来防止它因占用大量
  • 从视频创建缩略图 - 提高速度性能 - AVAsset - iPhone [重复]

    这个问题在这里已经有答案了 我正在使用基于以下线程中的代码的代码来生成视频缩略图 从 iPhone SDK 中的视频 URL 或数据获取缩略图 https stackoverflow com questions 1347562 gettin
  • iOS 中如何清除特定域的 cookie?

    我已经搜索了 StackOverflow 上的几乎所有问题来寻找我的问题的答案 我还没有找到任何有用的链接或教程来说明哪种方式最好清除特定域的 cookie 如果有人可以帮助我 请 我自己找到了解决方案 如果您想删除 UIWebView 中
  • 当我从我转向的视图控制器返回时,为什么我的 UITableView 的格式完全出错了?

    我有一个UITableView使用自定义单元格 其中有一些标签可以动态决定单元格的高度 当我点击一个单元格并转到一个新的视图控制器时 返回后所有单元格的格式完全混乱 我无法弄清楚是什么导致了它 这是细胞通常的样子 我对它们设置了一些非常基本
  • Objective-C:在哪里定义宏以便随处可用?

    我有一个 iOS 应用程序 它在许多视图控制器中使用相同的字符串 数字等 所以我认为最好在一个文件中定义这些常量并在所有视图控制器实现中使用它 优点是更改一个数字 我只需要做一次 而不是在所有视图控制器中都使用该数字 实际上 我的 h 文件
  • NSDictionary 上的 NSPredicate

    我试图根据字母表在表格视图中创建部分 并在这些部分下按字母顺序对我的条目进行排序 我已经收集了 bandArrayIndex 中 bandArray 每个条目的第一个字母 现在我尝试使用 NSPredicate 来计算每个字母有多少个 我正
  • 在 Objective-C 中比较 2 个字符串

    我写了以下代码 if depSelectedIndice gt 1 comSelectedIndice gt 1 NSLog depart elemet d depSelectedIndice NSLog depart elemet d c
  • ios 用户如何取消 Facebook 登录?

    当用户到达此屏幕时 无法取消 我能做些什么 为了首先获得这个视图 我正在运行 NSMutableDictionary params NSMutableDictionary dictionaryWithObjectsAndKeys vid l
  • 从 UIImagePickerController 相机视图推送 viewController

    我正在开发一款消息应用程序 类似于 WhatsApp 用户可以互相发送文本和图像消息 当用户想要发送图像时 他可以从相机胶卷中选择一张图像 也可以用相机拍摄一张图像 这就是我介绍的方式UIImagePickerController对于这两种
  • iPhone 应用程序中的异步、同步、线程

    我正处于一个应用程序的设计阶段 该应用程序将利用 REST Web 服务 并且在使用异步 同步和线程方面遇到了困境 这是场景 假设您有三个选项可供深入研究 每个选项都有自己的基于 REST 的资源 我可以使用同步请求延迟加载每个请求 但这会
  • 如何知道我的应用程序使用了多少 iCloud 空间?

    有没有办法查看我的应用程序正在备份到 iCloud 的内容以及它消耗了多少内存 Settings gt iCloud gt Storage Backup gt Manage Storage将显示正在备份的总计内容 iOS 会备份位于应用程序
  • 如何将 UILabel 的值绑定到实例变量?

    我是 mac objective c 的新手 我的问题是 我想知道是否可以将 UILabel 文本绑定到变量 而不必在值更改时手动设置文本 例如 在 Mac OS 上 当我打开新的 Finder 窗口并删除文件时 任务栏中的全局可用空间就会
  • 在 XCode 中链接静态 ObjC 库的过程

    我正在尝试链接到静态库 但不断收到链接器错误 我发现了一些发布示例的网站 但我无法看到我做错了什么 首先 我创建一个链接到我的库的项目 添加 gt 现有文件找到我的 xcodeproj 文件选择 将项目复制到目标组文件夹 选择我的宿主项目作
  • 在 iPhone 中缝合图片

    我想并排缝合2张png 在Cocoa中 我会使用 NSImage initWithSize 然后只是drawInRect 但是 UIImage 没有 initWithSize 类 我现在该怎么做 Use UIGraphicsBeginIma
  • UIImageJPEGRepresentation 在视网膜显示屏上提供 2x 图像

    我有这段代码 它创建一个图像 然后向其添加一些效果并缩小其大小以使其largeThumbnail UIImage originalImage UIImage imageWithData self originalImage thumbnai

随机推荐

  • 当在很多矩形上使用背景时,Raphael JS 变得非常慢

    我有一大组小矩形 4K 5K 我想使用精灵技术为它们提供背景 所以我只有一个图像 否则请求数量会杀死服务器 如果我给它们一个彩色背景 那么地图只需要几秒钟就可以构建出来 我尝试创建一个矩形 对其应用翻译以获得分配的背景图像的不同部分并且有效
  • 终止 EC2 实例时删除 EBS 卷,通过 terraform

    我的 tf 文件中有以下内容 provider aws region var aws region resource aws ebs volume agent xvdf count var ec2 count availability zo
  • HBase客户端-服务器版本兼容性

    我想知道如何知道我的 HBase 客户端的 jar 是否适合我的 HBase 服务器的版本 是否有任何地方指定 HBase 客户端 jar 支持哪些 HBase 版本 就我而言 我想将最新的 HBase 客户端 jar 2 4 5 与相当旧
  • 如何以 jQuery 方式搜索和操作复杂的 JavaScript 对象

    在 Web 应用程序的上下文中 我有一个服务器 它根据客户端的输入发送或接收 JSON 字符串 在客户端使用时 这些 JSON 字符串会立即转换为 JavaScript 对象 并以对象的形式存在 这些对象不是数组 而是数组 它们代表复杂的
  • 如何向 BLE 设备发送命令并显示结果

    Override public void onServicesDiscovered final BluetoothGatt gatt int status super onServicesDiscovered gatt status if
  • 从表A中选择B表中不存在的内容

    我正在尝试为 MySQL 编写一条 SELECT 语句 该语句从表 A 中选择表 B 中不存在的内容 例如 Table A BAND 1 2 3 4 5 Table B HATE 1 5 因此 如果表 A 是所有乐队 表 B 是我讨厌的乐队
  • xsl 使用键相乘

    抱歉 我不知道如何提问 我有 3 个 xml 文档 我有一个正在运行的 xsl 只是我无法弄清楚价格总额如何乘以数量 我的时间不多了 请帮忙 这是xsl
  • 在 SSIS 中的文件系统任务之后进行分支而不会使包失败

    如果文件系统任务 例如重命名 失败 例如文件不存在 则 SSIS 会认为这是一个错误 这意味着整个包失败 我可以通过使用脚本任务或将包的最大错误设置为多个来解决这个问题 将包的最大错误设置为多个的问题在于 如果包中的其他位置发生错误 则包不
  • PHPExcel 如何设置单元格名称?

    通常在 Excel 中 您可以为单元格指定特定名称 在 phpexcel 中如何做到这一点 开发人员文档的第 4 6 38 节描述了如何执行此操作 标题为 定义命名范围 的部分 objPHPExcel gt addNamedRange ne
  • 如何详细了解 Laravel 队列作业失败的原因?

    情况 我正在使用 Laravel 队列来处理大量媒体文件 单个作业预计需要几分钟 最多一个小时 我正在使用 Supervisor 来运行我的队列 并且一次运行 20 个进程 我的主管配置文件如下所示 program duplitron wo
  • AF_UNIX 套接字中缓冲区的最大长度

    我想知道 当使用套接字 AF UNIX 用C进行编程时 向套接字发送或从套接字接收数据时是否有任何限制 以字节为单位 您可以使用以下命令更改每个单独套接字连接的读取和写入缓冲区setsockopt http www opengroup or
  • 矩阵 - 如何从用户输入(行)创建矩阵?

    我想根据用户输入创建矩阵 如下所示 这是我的代码 flag True while flag num int input enter matrix dimension if num 0 print Finish flag False else
  • 如何在 LuisActionDialog 传递上下文中从一个意图跳转到另一个意图

    我正在使用 Microsoft Bot Framework LUIS 和LUIS动作绑定 https github com Microsoft BotBuilder Samples tree master CSharp Blog LUISA
  • 如何防止 CALayer(CATiledLayer 的子层)在缩放后更改其比例?

    我有一个用于显示 PDF 页面的 CATiledLayer 此 CATiledLayer 是我的 UIView 的图层类型 它是 UIScrollView 的子视图 我想在此页面上添加覆盖标记 因此 我将一个子层添加到我的 CATiledL
  • 如何确定上下文无关语法是否描述了常规语言?

    给定任意上下文无关语法 我如何检查它是否描述了常规语言 我不是在寻找考试 技巧 我正在寻找一种可以编写代码的万无一失的机械测试 如果有帮助 这里是我可能会收到的 CFG 作为输入的示例 具体来说 请注意 答案一定比仅仅寻找左递归或右递归复杂
  • 如何在另一个函数中使用带有参数的函数的返回值

    所有这些函数都位于 int main 之外 int func1 int x int v1 6 x return v1 the input argument will be 2 so v1 12 int func2 int v2 func1
  • $_POST[] 在 php 中不工作

    我已经开始学习PHP了 设法设置东西 我正在使用 php 版本 5 3 13 我正在尝试将一些信息发布到 html 表单并在 php 文件中接收它 为此 我使用 Post 变量 并且 php 文件的输出为空 下面是html代码
  • 如何记录Tomcat 7 JDBC连接池、连接创建

    尽管我们使用的是 Tomcat 7 JDBC 连接池 但我正在尝试调试似乎打开和关闭的数据库连接数量过多 当对数据源调用 getConnection 导致打开新连接而不是从池中借用现有连接时 如何记录 我知道有两种查看 Tomcat DB
  • 易失性读取和非易失性字段

    看完之后这个问题 https stackoverflow com questions 17108541 happens before relationships with volatile fields and synchronized b
  • 如何获取NSString的子字符串?

    如果我想从 NSString 获取值 value hello World value 我应该用什么 我想要的返回值是 hello World 选项1 NSString haystack value hello World value NSS