如何访问 NSString 中的第 n 个字符?

发布于 2024-12-06 19:02:00 字数 152 浏览 0 评论 0原文

我有十六进制颜色作为 NSStrings,并且想要检查特定字符串是否在第一个、第三个或第五个字符处包含 F,但如果它在第二个、第四个或第六个字符处包含 F,则忽略它。

这是为了确定所讨论的颜色是否是浅色。

我搜索了这个,但只找到了有关如何查找字符范围的答案。

I've got HEX colors as NSStrings and want to check if a particular string contains an F at the first, third, or fifth character, but to ignore it if it contains an F at the second, fourth or sixth character.

This is to identify if the color in question is a light color or not.

I searched for this, but only found answers regarding how to find character ranges.

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

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

发布评论

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

评论(3

小糖芽 2024-12-13 19:02:00

您可以使用 NSString 的 characterAtIndex 成员。

char fifthChar = [yourString characterAtIndex:5];

You can use the characterAtIndex member of NSString.

char fifthChar = [yourString characterAtIndex:5];
情泪▽动烟 2024-12-13 19:02:00

正如 @Daniel Pereira 所说,您可以使用 -[NSString characterAtIndex:] 方法来检查字符。

NSString *string = /* Assume this exists */;
if ([string characterAtIndex: 1] == 'F' || \
    [string characterAtIndex: 3] == 'F' || \
    [string characterAtIndex: 5] == 'F')
{
    // F at odd-indexed character
}
else
{
    // Do other stuff here...
}

As @Daniel Pereira says, you can use the -[NSString characterAtIndex:] method to check characters.

NSString *string = /* Assume this exists */;
if ([string characterAtIndex: 1] == 'F' || \
    [string characterAtIndex: 3] == 'F' || \
    [string characterAtIndex: 5] == 'F')
{
    // F at odd-indexed character
}
else
{
    // Do other stuff here...
}
债姬 2024-12-13 19:02:00

您是否尝试过使用characterAtIndex?您可以使用该方法检索第一个、第三个和第五个字符处的字符串(当然一次一个)并将其与 F 进行比较。

请注意,所有十六进制颜色都必须是 6 个字符。有时,您可以只用三个十六进制值表示颜色(例如,FFF 在 HTML 中仍会显示白色)。因此,如果您的颜色仅使用三个字符表示,并且您尝试获取索引 5 处的字符,则该方法将抛出“超出范围”异常。

Have you tried to use characterAtIndex? You can use the method to retrieve the string at the first, third and fifth character (of course one at a time) and compare it with F.

Note that all your HEX colors must be 6 characters. Sometimes, you can represent a color with only three hex values (eg. FFF would still give you white in HTML). So if your color is represented using three chars only, and you try to get the char at index 5, the method will throw an 'out of range' exception.

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