gpt4 book ai didi

Swift:拆分以逗号分隔的字符串,但如果逗号用单引号引起来则不会

转载 作者:行者123 更新时间:2023-11-28 12:13:24 27 4
gpt4 key购买 nike

我的 XML 文件在单引号之间对字符串进行编码。数组元素以逗号分隔。

'Hello', 'World'

通常,提取逗号分隔值很容易:

let result = myString.split{ $0 == "," }.map(String.init)

问题是我不能鲁莽地分割逗号:如果逗号用单引号括起来就是文本,否则就是数组元素分隔符:

'Hello', 'World', 'Hello, World'

应该产生:

["Hello", "World", "Hello, World"]

注意两点:

  1. 一个空的单引号是一个不能被丢弃的空字符串(它是数组中的一个元素)
  2. 我不能保证元素之间有空格;用户可能篡改了文件。

'Hello', 'World'     , 'Hello, World', ''

应该产生:

["Hello", "World", "Hello, World", ""]

我需要一些方法来区分位于单引号之外的逗号分隔值:', ' 更好的方法可能是保留单引号之间的任何内容,但我不知道该怎么做这个。

最佳答案

用单引号分隔字符串并删除后面包含单个逗号和空格的元素怎么样?

请注意,您应该删除结果的第一个/最后一个元素,因为输入以单引号开始和结束,并且在分隔后会产生一个空元素。

var result = myString.components(separatedBy: "'").filter { 
$0.trimmingCharacters(in: .whitespaces) != ","
}

result.removeLast()
result.removeFirst()

关于Swift:拆分以逗号分隔的字符串,但如果逗号用单引号引起来则不会,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47660214/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com