如何获取 NSString 的一部分

发布于 2024-10-04 10:40:53 字数 112 浏览 5 评论 0原文

例如,在上面的字符串中, “http://stackoverflow.com/pqr?name=XYZ&age=26”

我需要 XYZ 的名称值。如何得到那个..?

谢谢

"http://stackoverflow.com/pqr?name=XYZ&age=26"

for example in the above string i need the value of name that is XYZ. how to get that..?

Thanks

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

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

发布评论

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

评论(2

月隐月明月朦胧 2024-10-11 10:40:54

NSURL 上有一些方法,您需要从字符串中初始化这些方法,这可能会有所帮助。例如,- (NSString *) 查询 将为您提供“name=XYZ&age=26”。然后,您可以使用 componentsSeparatedByString(@"&") 收集每个参数并迭代结果数组,直到获得所需的键/值。也许是这样的:

NSURL *url = [NSURL URLFromString:incomingString];
NSString *queryString = [url query];
NSArray *queryArray = [queryString componentsSeparatedByString(@"&")];

for (NSString *query in queryArray)
{
  NSArray *arg = [query componentsSeparatedByString(@"=");
  if ([arg count] != 2) continue;

  if ([arg objectAtIndex:0] caseInsensitiveCompare:@"SOME_KEY"] == NSOrderedSame)
  {
    // do something, probably with [arg objectAtIndex:1]
  }

}

但是,您应该注意传入字符串的编码。例如,百分比转义。

There are methods on NSURL, which you would need to init from the string, that might help. For example, - (NSString *) query which would give you 'name=XYZ&age=26'. You could then use componentsSeparatedByString(@"&") to gather each argument and iterate over the resulting array until you get to the key/value you need. Maybe something like:

NSURL *url = [NSURL URLFromString:incomingString];
NSString *queryString = [url query];
NSArray *queryArray = [queryString componentsSeparatedByString(@"&")];

for (NSString *query in queryArray)
{
  NSArray *arg = [query componentsSeparatedByString(@"=");
  if ([arg count] != 2) continue;

  if ([arg objectAtIndex:0] caseInsensitiveCompare:@"SOME_KEY"] == NSOrderedSame)
  {
    // do something, probably with [arg objectAtIndex:1]
  }

}

However, you should be aware of encoding with the incoming string. For example, percent escapes.

自此以后,行同陌路 2024-10-11 10:40:54

尝试使用 NSString 的方法拆分字符串

 - (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator

使用“?”、“=”和“&”作为分隔符,然后你就可以开始了。

Try to split up the string with NSString's method

 - (NSArray *)componentsSeparatedByCharactersInSet:(NSCharacterSet *)separator

Use "?", "=" and "&" as seperators and then you should be good to go.

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