检查 NSMakeRange 是否能够获取范围

发布于 2024-11-01 11:01:07 字数 335 浏览 6 评论 0原文

我目前正在使用下面的代码来获取子字符串

NSString *s1 = [stringName substringWithRange: NSMakeRange(0, 2)];

NSString *s2 = [stringName substringWithRange: NSMakeRange(2, 4)];

NSString *s3 = [stringName substringWithRange: NSMakeRange(6, [stringName length])];

,这里如何检查范围是否有效,因为我无法验证字符串的长度,因为它可能会随时间而变化。请帮助我解决这个问题..

I am currently using the below code to take the substring

NSString *s1 = [stringName substringWithRange: NSMakeRange(0, 2)];

NSString *s2 = [stringName substringWithRange: NSMakeRange(2, 4)];

NSString *s3 = [stringName substringWithRange: NSMakeRange(6, [stringName length])];

Here, how to check the range is valid or not because i am not able to length of string to validate because it may differ on time. Please help me in this issue..

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

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

发布评论

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

评论(2

你的呼吸 2024-11-08 11:01:07

对于s3,您从位置开始并要求与字符串中的字符数完全相同。但由于您从位置 6 开始,因此您要求的 6 个字符太多了。你需要做:

NSString *s3 = [stringName substringWithRange: NSMakeRange(6, [stringName length] - 6)];

For s3, you're starting at position and ask for exactly as many characters as there are in the string. But since you're starting at position 6, you're asking for 6 characters too many. You need to do:

NSString *s3 = [stringName substringWithRange: NSMakeRange(6, [stringName length] - 6)];
一身仙ぐ女味 2024-11-08 11:01:07

正如苹果文档所述..

substringWithRange:

返回一个字符串对象,其中包含给定范围内的接收者字符。

- (NSString *)substringWithRange:(NSRange)aRange

aRange

A range. The range must not exceed the bounds of the receiver.

每次构造 NSMakeRange() 时,您都需要检查您在字符串长度内指定的范围是否在...通过使用一些 if 和 else 条件

As the apple documentation says ..

substringWithRange:

Returns a string object containing the characters of the receiver that lie within a given range.

- (NSString *)substringWithRange:(NSRange)aRange

aRange

A range. The range must not exceed the bounds of the receiver.

You need to check every time when you construct an NSMakeRange(), whether the Range you specified within the length of your String OR not ... by Using some if and else condition

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