【问题标题】:Preserving String format when passing only one of the required parameters仅传递所需参数之一时保留字符串格式
【发布时间】:2017-09-13 11:10:41
【问题描述】:

我有一个这样的 URL 格式存储在字符串中:

"https://website.com/something/%s/else/%s"

我想在保留格式的同时添加第一个字符串。但是,当我创建一个仅传递第一个参数和格式的字符串时,生成的字符串具有null 值而不是第二个%s

String(format: "https://website.com/something/%s/else/%s", "param1Asutfstring")

结果:

https://website.com/something/param1Asutfstring/else/(null)

我想知道是否有办法在保留第二个 %s 的同时这样做。

https://website.com/something/param1Asutfstring/else/%s

有什么建议吗?

编辑:

鉴于此,我需要一些东西:

String(format: "https://website.com/something/%s/else/%s", "param1Asutfstring")

完全按照这种格式返回一个字符串:

"https://website.com/something/param1Asutfstring/else/%s"

【问题讨论】:

  • 我想知道这是否可行,(NS)String 的格式是%@,而不是%s——无论如何,您可以将%s 作为第二个字符串传递。
  • 如果格式有 2 个占位符,那么您必须传递 2 个参数。

标签: ios swift string url format


【解决方案1】:

您可以在第二个参数中使用%s

let url = String(format: "https://website.com/something/%@/else/%@", "param1Asutfstring", "%s")
print(url)

请注意,使用 %@ 是因为 %s 不起作用(至少对我而言)

输出:

https://website.com/something/param1Asutfstring/else/%s

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-08-07
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多