从字符串(Swift)中删除前六个字符
删除字符串的前六个字符的最佳方法是什么?通过堆栈溢出,我找到了两种应该是解决方案的方法,但我注意到它们有一个错误。比如说,从字符串(Swift)中删除前六个字符,swift,string,character,Swift,String,Character,删除字符串的前六个字符的最佳方法是什么?通过堆栈溢出,我找到了两种应该是解决方案的方法,但我注意到它们有一个错误。比如说, extension String { func removing(charactersOf string: String) -> String { let characterSet = CharacterSet(charactersIn: string) let components = self.components(separatedBy: cha
extension String {
func removing(charactersOf string: String) -> String {
let characterSet = CharacterSet(charactersIn: string)
let components = self.components(separatedBy: characterSet)
return components.joined(separator: "")
}
如果我输入像https://www.example.com
,并将其存储为名为website的变量,然后键入以下内容
website.removing(charactersOf: "https://")
它删除了https://
部分,但同时也删除了文本中的所有h、所有t和::等
如何删除第一个字符?
length
是要删除的字符数(本例中为6个)
扩展字符串{
func toLengthOf(长度:Int)->字符串{
如果长度为什么不:
let stripped = String(website.characters.dropFirst(6))
对我来说似乎更简洁和直接
(请注意,它也不能用于多字符表情符号)
[编辑]Swift 4使这一点更加简短:
let stripped = String(website.dropFirst(6))
它将从字符串中删除前6个字符
var str = "Hello-World"
let range1 = str.characters.index(str.startIndex, offsetBy: 6)..<str.endIndex
str = str[range1]
print("the end time is : \(str)")
var str=“你好,世界”
让range1=str.characters.index(str.startIndex,offsetBy:6)在Swift 4中,它非常简单,只需使用dropFirst(n:Int)
在你的例子中:网站。dropFirst(6)
你试过表情符号吗?@Kubba这也适用于表情符号。在你的例子中,输出将是“”。编辑后-现在它输出:“12”。toLengthOf(长度:1)//2
,”@Kubba我已经添加了你场景的屏幕截图。请看一看。@Kubba这不适用于由多个表情组成的表情符号,因为一个普通表情符号只包含一个字符,而你提到的表情符号包含多个字符。但我认为它适用于问题中提出的场景。如果str.length>=6,请使用{let newstr=str.chopRefix(6)}
。我必须创建一个新字符串,并将dropFirst
的结果传递给它的构造函数以使其编译。太棒了,经过大量的研发,我找到了最好的解决方案,谢谢。)
var str = "Hello-World"
let range1 = str.characters.index(str.startIndex, offsetBy: 6)..<str.endIndex
str = str[range1]
print("the end time is : \(str)")
let myString = "Hello World"
myString.dropFirst(6)
//World