Swift - 分行拆分字符串

32 浏览
0 Comments

Swift - 分行拆分字符串

我该如何将字符串拆分成多行,例如下面这样的格式?

var text:String = "This is some text
                   over multiple lines"

admin 更改状态以发布 2023年5月23日
0
0 Comments

我使用了一个拓展来实现多行字符串,同时避免编译器挂起的 bug。它还允许您指定一个分隔符,因此可以像 Python 的 join 函数一样使用它。

extension String {
    init(sep:String, _ lines:String...){
        self = ""
        for (idx, item) in lines.enumerated() {
            self += "\(item)"
            if idx < lines.count-1 {
                self += sep
            }
        }
    }
    init(_ lines:String...){
        self = ""
        for (idx, item) in lines.enumerated() {
            self += "\(item)"
            if idx < lines.count-1 {
                self += "\n"
            }
        }
    }
}
print(
    String(
        "Hello",
        "World!"
    )
)
"Hello
World!"
print(
    String(sep:", ",
        "Hello",
        "World!"
    )
)
"Hello, World!"

0
0 Comments

Swift 4支持多行字符串字面量。除了换行符,它们还可以包含未转义的引号。

var text = """
    This is some text
    over multiple lines
    """

旧版本的Swift不允许您在多个行上具有单个字面量,但是您可以将多个字面量添加在一起:

var text = "This is some text\n"
         + "over multiple lines\n"

0