我有一个带有 url 的字符串,我想从字符串中删除 block 引号和后面的字符。
字符串看起来像 http://pics.v6.top.rbk.ru/v6_top_pics/resized/250xH/media/img/7/92/754435534528927.jpg\"><div>Какой-то div</div>
所以我尝试创建一个 for 循环,它迭代附加到新字符串的每个字符,并在找到 block 引号时停止
我尝试以下代码
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)
但是不起作用
我也尝试了 while,但它会导致无限循环
for char in value.characters {
while char != "\"" {
print("hello")
}
}
如何正确执行此操作?
提前致谢!
UPD - 我不需要只删除引号。我需要删除它们以及它们之后的所有内容
最佳答案
如果要删除双引号中直到字符串末尾的所有字符,使用 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)
}
关于string - 遍历字符串字符以删除 block 引号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32864797/