我的代码如下
> all(sort(names(boroughs_nb)) == sort(levels(elections$idx)))
[1] TRUE
我的目标是获取文本的前3000个字符(如果长度超过3000个字符)。
但是,我收到以下警告:
'substring(to :)'已过时:请使用String切片下标 使用“部分范围最大”运算符
可以替代我的代码。我不是一个非常专业的编码员。因此,任何帮助都会很棒。
答案 0 :(得分:5)
使用所需的prefix(_:)
只需在theReview
上调用length
。
函数前缀(_ maxLength:Int)->子字符串
返回不超过指定最大长度的子序列,包含 集合的初始元素。
如果最大长度超过了 集合,结果包含集合中的所有元素
var theReview = addReview.text
theReview = String(theReview.prefix(3000))
注意:无需检查theReview's length
是否超过3000
。它会由prefix(_:)
本身处理。
答案 1 :(得分:1)
这可能会对您有帮助
var theReview = addReview.text
theReview = String(theReview.prefix(3000))
答案 2 :(得分:0)
在切片中使用String init。
let index = theReview.index(theReview.startIndex, offsetBy: 3000)
theReview = String(theReview[theReview.startIndex..<index])
或先前回答中提到的prefix