string - 遍历字符串字符以删除 block 引号

标签 string swift

我有一个带有 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/

相关文章:

arrays - 如何从c中的字符串数组中删除重复的字符串

java 双分割到 String[ ][ ]

python - 使用 pandas 的 if 语句抛出 "ValueError: The truth value of a Series is ambiguous"

c - snprintf 和 strncat 的执行速度如何比较?

swift - 如何将 AdMob GADBannerView 添加到每个 View

arrays - ios swift - 将 AnyObject 列表分配给字典键

ios - 根据 bool 值进入不同的 View Controller

c++ - 如何对字符串使用通配符(匹配和替换)?

swift - 使用 Alamofire 的 Swift 版本问题

swift - 如何扩展允许使用带有动态键的下标的字典?