我怎么能在多行分割字符串,如下面?
var text:String = "This is some text
over multiple lines"
我怎么能在多行分割字符串,如下面?
var text:String = "This is some text
over multiple lines"
当前回答
加上@Connor的回答,也需要有\n。以下是修改后的代码:
var text:String = "This is some text \n" +
"over multiple lines"
其他回答
一种方法是将标签文本设置为attributedText,并更新字符串变量以包含换行符的HTML (<br />)。
例如:
var text:String = "This is some text<br />over multiple lines"
label.attributedText = text
输出:
This is some text
over multiple lines
希望这能有所帮助!
加上@Connor的回答,也需要有\n。以下是修改后的代码:
var text:String = "This is some text \n" +
"over multiple lines"
Swift 4支持多行字符串字面值。除了换行符,它们还可以包含未转义的引号。
var text = """
This is some text
over multiple lines
"""
旧版本的Swift不允许你在多行上有一个字面值,但你可以在多行上添加字面值:
var text = "This is some text\n"
+ "over multiple lines\n"
这是我注意到的斯威夫特的第一件令人失望的事情。几乎所有脚本语言都允许多行字符串。
c++ 11添加了原始字符串字面值,允许您定义自己的终止符
c#有它的@literals用于多行字符串。
即使是普通的C以及老式的c++和Objective-C也允许通过将多个文字相邻放置来进行连接,因此引号被折叠。当你这样做的时候,空格不算数,所以你可以把它们放在不同的行上(但需要添加你自己的换行符):
const char* text = "This is some text\n"
"over multiple lines";
由于swift不知道你已经把你的文本超过多行,我必须修复connor的样本,类似于我的C样本,显式地声明换行:
var text:String = "This is some text \n" +
"over multiple lines"
下面是一个代码片段,用n个字符分隔字符串:
//: A UIKit based Playground for presenting user interface
import UIKit
import PlaygroundSupport
class MyViewController : UIViewController {
override func loadView() {
let str = String(charsPerLine: 5, "Hello World!")
print(str) // "Hello\n Worl\nd!\n"
}
}
extension String {
init(charsPerLine:Int, _ str:String){
self = ""
var idx = 0
for char in str {
self += "\(char)"
idx = idx + 1
if idx == charsPerLine {
self += "\n"
idx = 0
}
}
}
}