如何在Swift 3中表示字符串文字中的特殊字符

时间:2017-05-02 18:19:36

标签: ios swift swift3

我是Swift的新手,我正在阅读“快速编程:大书呆子牧场指南”。"我遇到了一个挑战,希望我创建一个代表一个州的字典。我的词典键是指3个国家/地区。每个键映射到一个数组,该数组包含该国家/地区内的五个邮政编码。我被允许填写国家名称和邮政编码。 结果应符合以下条件:

   Georgia has the following zip codes: [30306, 30307, 30308, 30309, 30310,

                                  30311, 30312, 30313, 30314, 30315,

                                  30301, 30302, 30303, 30304, 30305]

我能够按照他的要求得到结果,但我无法获得相同的格式,在我的代码中,结果显示在同一行中,如下所示:

Georgia has the following zip codes: [30306, 30307, 30308, 30309, 30310,30311, 30312, 30313, 30314, 30315, 30301, 30302, 30303, 30304, 30305]

这是我的代码:

      var georgia = ["c1" : [30306, 30307, 30308, 30309, 30310] , "c2" : [30311, 30312, 30313, 30314, 30315 ] , "c3" : [30301, 30302, 30303, 30304, 30305] ]
      var resultArray : [Int] = []
      for zipCodes in georgia.values
      {
        for zip in zipCodes
        {
          resultArray.append(zip)
        }
      }
      print("Georgia has the following zip codes :" , resultArray)   

我一直试图找出如何匹配上面的格式,因为他想要我,但我无法理解。任何帮助将非常感激。

1 个答案:

答案 0 :(得分:0)

只是为了好玩:

let georgia = ["c1" : [30306, 30307, 30308, 30309, 30310] , "c2" : [30311, 30312, 30313, 30314, 30315 ] , "c3" : [30301, 30302, 30303, 30304, 30305] ]

var resultArray = [String]()
for key in georgia.keys.sorted()
{
    let zipCodes = georgia[key]!
    let zipString = zipCodes.map(String.init).joined(separator: ", ")
    resultArray.append(zipString)
}
print("Georgia has the following zip codes : [" + resultArray.joined(separator: ",\n\n\t\t\t\t\t") + "]")

它将每个Int数组映射到String数组,并将带有", "分隔符的项连接到字符串。结果数组也加上逗号和几个新的行和制表符。最后,括号手动添加

但我无法想象这是真正的挑战......