gpt4 book ai didi

Objective-C:如何提取字符串的一部分(例如从 '#' 开始)

转载 作者:IT王子 更新时间:2023-10-29 07:46:11 25 4
gpt4 key购买 nike

我有一个字符串,如下所示,

NSString * aString = @"This is the #substring1 and #subString2 I want";

如何只选择以“#”开头(并以空格结尾)的文本,在本例中为“subString1”和“subString2”?

注意:为清楚起见,对问题进行了编辑

最佳答案

您可以使用 NSScanner 来做到这一点拆分字符串。此代码将遍历一个字符串并用子字符串填充一个数组。

NSString * aString = @"This is the #substring1 and #subString2 I want";
NSMutableArray *substrings = [NSMutableArray new];
NSScanner *scanner = [NSScanner scannerWithString:aString];
[scanner scanUpToString:@"#" intoString:nil]; // Scan all characters before #
while(![scanner isAtEnd]) {
NSString *substring = nil;
[scanner scanString:@"#" intoString:nil]; // Scan the # character
if([scanner scanUpToString:@" " intoString:&substring]) {
// If the space immediately followed the #, this will be skipped
[substrings addObject:substring];
}
[scanner scanUpToString:@"#" intoString:nil]; // Scan all characters before next #
}
// do something with substrings
[substrings release];

下面是代码的工作原理:

  1. 最多扫描 #。如果未找到,扫描器将位于字符串的末尾。
  2. 如果扫描器位于字符串的末尾,我们就完成了。
  3. 扫描 # 字符,使其不在输出中。
  4. 向上扫描一个空格,扫描到的字符存放在substring中。如果 # 是最后一个字符,或者紧跟一个空格,该方法将返回 NO。否则它将返回 YES。
  5. 如果字符被扫描(该方法返回 YES),将 substring 添加到 substrings 数组。
  6. 转到 1

关于Objective-C:如何提取字符串的一部分(例如从 '#' 开始),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6825834/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com