测试 NSString 是否以空格或换行符结尾?

发布于 2024-11-10 03:16:34 字数 274 浏览 2 评论 0原文

如何测试 NSString 的最后一个字符是否是空格或换行符。

我可以做[[NSCharacterwhitespaceAndNewlineCharacterSet]characterIsMember:lastChar]。但是,如何获取 NSString 的最后一个字符?

或者,我应该使用 - [NSString rangeOfCharacterFromSet:options:] 进行反向搜索吗?

How do I test if the last character of an NSString is a whitespace or newline character.

I could do [[NSCharacter whitespaceAndNewlineCharacterSet] characterIsMember:lastChar]. But, how do I get the last character of an NSString?

Or, should I just use - [NSString rangeOfCharacterFromSet:options:] with a reverse search?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

吾性傲以野 2024-11-17 03:16:34

你走在正确的轨道上。下面显示了如何检索字符串中的最后一个字符;然后您可以按照您的建议检查它是否是 whitespaceAndNewlineCharacterSet 的成员。

unichar last = [myString characterAtIndex:[myString length] - 1];
if ([[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:last]) {
  // ...
}

You're on the right track. The following shows how you can retrieve the last character in a string; you can then check if it's a member of the whitespaceAndNewlineCharacterSet as you suggested.

unichar last = [myString characterAtIndex:[myString length] - 1];
if ([[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:last]) {
  // ...
}
三寸金莲 2024-11-17 03:16:34

也许您可以在 NSString 对象上使用 length 来获取其长度,然后使用:

- (unichar)characterAtIndex:(NSUInteger)index

with index as length - 1。现在您有了可以与 [NSCharacter whitespaceAndNewlineCharacterSet] 进行比较的最后一个字符。

Maybe you can use length on an NSString object to get its length and then use:

- (unichar)characterAtIndex:(NSUInteger)index

with index as length - 1. Now you have the last character which can be compared with [NSCharacter whitespaceAndNewlineCharacterSet].

池予 2024-11-17 03:16:34
@implementation NSString (Additions)

- (BOOL)endsInWhitespaceOrNewlineCharacter {
    NSUInteger stringLength = [self length];
    if (stringLength == 0) {
        return NO;
    }
    unichar lastChar = [self characterAtIndex:stringLength-1];
    return [[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:lastChar];
}

@end
@implementation NSString (Additions)

- (BOOL)endsInWhitespaceOrNewlineCharacter {
    NSUInteger stringLength = [self length];
    if (stringLength == 0) {
        return NO;
    }
    unichar lastChar = [self characterAtIndex:stringLength-1];
    return [[NSCharacterSet whitespaceAndNewlineCharacterSet] characterIsMember:lastChar];
}

@end
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文