我有一个带url的字符串,我想从字符串后删除blockquotes和字符。
字符串看起来像http://pics.v6.top.rbk.ru/v6_top_pics/resized/250xH/media/img/7/92/754435534528927.jpg\"><div>Какой-то div</div>
所以我尝试创建一个for循环,迭代遍历新字符串的每个字符,并在找到blockquotes时停止
我尝试使用代码
var value = "http://pics.v6.top.rbk.ru/v6_top_pics/resized/250xH/media/img/7/92/754435534528927.jpg\"><div>Какой-то div</div>"
var result = String()
for char in value.characters {
var i = false
if char == "\"" {
let temp: Character = "\""
result.append(temp)
i = true
} else if i != true {
result.append(char)
}
}
print(result)
但它不起作用
我也尝试,但它会导致无限循环
for char in value.characters {
while char != "\"" {
print("hello")
}
}
如何正确地做到这一点?
提前致谢!
UPD - 我不需要只删除引号。我需要删除它们以及它们之后的所有内容
答案 0 :(得分:1)
如果要从双引号中删除所有字符,直到字符串结尾,则更容易使用rangeOfString()
let value = "http://pics.v6.top.rbk.ru/v6_top_pics/resized/250xH/media/img/7/92/754435534528927.jpg\"><div>Какой-то div</div>"
if let offsetOfFirstDoubleQuote = value.rangeOfString("\"") {
let result = value.substringToIndex(offsetOfFirstDoubleQuote.startIndex)
print(result)
}
或更具体地说,如果分隔符始终为">
if let offsetOfDoubleQuoteGreaterThan = value.rangeOfString("\">") {
let result = value.substringToIndex(offsetOfDoubleQuoteGreaterThan.startIndex)
print(result)
}