ios - 检测 NSString 末尾的 4 个空格序列

标签 ios objective-c nsstring

检测 NSString 第一行末尾的 4 个空格序列的最佳方法是什么?

NSString *testString = @"Something    \nblah blah blah\nmore stuff here";
NSString *firstLine = [[testString componentsSeparatedByString: @"\n"] objectAtIndex:0];
NSRange range = [firstLine rangeOfString:@"    " options:NSRegularExpressionSearch];
BOOL found = range.location != NSNotFound;

这几乎可以解决问题,但我如何确保这个由四个空格组成的序列位于字符串的末尾?

最佳答案

您正在寻找方法 - (BOOL)hasSuffix:(NSString *)aString

if ([myString hasSuffix:@"    "]) {
    NSLog(@"myString had the suffix!");
}

The documentation声明这是为 NSAnchoredSearch | 提供便利NSBackwardsSearch,因此您也可以将其表示为:

if (NSNotFound != [myString rangeOfString:@"    " options:NSAnchoredSearch | NSBackwardsSearch].location) {
    NSLog(@"myString had the suffix!");
}

但这显然没有那么富有表现力。

关于ios - 检测 NSString 末尾的 4 个空格序列,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24188045/

相关文章:

iphone - 无法在 IOS 中将一个类包含到另一个类中

ios - UITouch 触摸事件向下识别为移动

ios - 在 CAMediaTimingFunction 的特定时间获取百分比?

ios - 在图像上渲染文本,以全分辨率保存图像?

ios - 如何使用 Swift 将 NSString 转换为整数?

ios - NSString 绘制矩形 :withAttributes: not correctly centered when using NSKernAttributeName

ios - 警报每次都会打开,而不仅仅是第一次

ios - 在 iOS SceneKit 中更新几何表面的正确方法是什么?

objective-c - 在 UITapGestureRecognizer 处理程序中获取点击的单元格

cocoa - 解析 NSString 以获取数据