当我尝试使用Swift的String(format: format, args)
方法时,我发现如果不添加换行符(\n
)并添加括号,我就无法直接打印格式化的字符串。
例如,我有一个这样的代码:
func someFunc(string: String...) {
print(String(format: "test %@", string))
}
let string = "string1"
someFunc(string, "string2")
结果将是:
"test (\n string1,\n string2\n)\n"
但是,我打算像这样提供结果:
"test string1 string2"
如何制作括号并且\n
不打印?
答案 0 :(得分:2)
由于string
参数是一个序列,您可以在其上使用joinWithSeparator
,如下所示:
func someFunc(string: String...) {
print(string.joinWithSeparator(" "))
}
someFunc("quick", "brown", "fox", "jumps", "over", "the", "lazy", "dog")
答案 1 :(得分:0)
首先需要连接输入字符串列表,否则它将作为列表打印,因此使用逗号和括号。您还可以使用字符集从字符串的末尾删除换行符和空格。
var stringConcat : String = ''
for stringEntry in string {
stringConcat += stringEntry.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet())
}
然后打印出stringConcat。