当前位置: 首页 > 面试题库 >

如何在Swift 4中使用String子字符串?不推荐使用'substring(to :)':请使用带有'partial range from'运算符的String切片下标

严修诚
2023-03-14
问题内容

我有以下用Swift 3编写的简单代码:

let str = "Hello, playground"
let index = str.index(of: ",")!
let newStr = str.substring(to: index)

从Xcode 9 beta 5,我收到以下警告:

substring(to:)推荐使用“ ”:请String对带有“ partial range from”运算符的下标进行切片。

如何在Swift 4中使用 部分范围的下标切片


问题答案:

您应将 一侧留空 ,因此命名为“ partial range”。

let newStr = str[..<index]

运算符的 部分范围 相同,只是将另一侧留空:

let newStr = str[index...]

请记住,这些范围运算符返回Substring。如果要将其转换为字符串,请使用String的初始化函数:

let newStr = String(str[..<index])

您可以在此处阅读有关新子字符串的更多信息。



 类似资料:
  • 问题内容: 如何将以下代码更新为swift的新版本: 我已经尝试过这篇文章,但我做不正确, 如何在Swift4中使用String切片下标? 我将原始代码调整为,但得到了: 无法使用索引“ PartialRangeUpTo”下标“字符串”类型的值 问题答案: 我会在这种情况下说。简短而甜美。

  • 问题描述 (Problem Description) 如何使用堆栈反转字符串? 解决方案 (Solution) 下面的示例演示了如何在用户定义的方法StringReverserThroughStack()的帮助下使用堆栈来反转字符串。 import java.io.IOException; public class StringReverserThroughStack { private S

  • 问题内容: 在Go中,如果我有一个字符串变量s: 我如何将其转换或拆分或爆炸为切片或字符串数​​组,以使其变为: 问题答案: 您应该使用该软件包。 http://play.golang.org/p/UKZbcuJUPP

  • 我一直在用Swift 3更新我的一些旧代码和答案,但当我使用Swift字符串和子字符串进行索引时,事情变得很混乱。 具体来说,我尝试了以下方法: 第二行给出了以下错误 “String”类型的值没有成员“substringWithRange” 我看到,String现在确实有以下方法: 起初我真的很困惑,所以我开始围绕索引和范围玩。这是子串的后续问答。我在下面添加一个答案来展示它们是如何使用的。

  • 问题内容: 在这里,我试图从包含字符串的切片中为我的API创建查询字符串。 即。 这是goplayground链接。 获得结果的最佳方法是什么? 问题答案: 由于串联,您的解决方案使用了太多分配。 我们将创建一些替代的,更快的和/或更优雅的解决方案。请注意,以下解决方案不检查节点值是否包含引号字符。如果愿意,则必须以某种方式对其进行转义(否则结果将是无效的查询字符串)。 完整的可运行代码可以在Go