我正在处理一个基本的本地化管道,其中电子表格将值导出为TSV(制表符分隔的值)。Numbers导出“TSV”,但输出不显示\t字符。如果我在文本编辑器中打开这个.tsv,制表符就在那里。它也不允许我指定分隔符。现在,在Swift中,如果我逐行读取这个文件,我会期望通过以下方式获得所有列值:let columns = line.components(separatedBy: "\t")但它不返回多个值。有谁知道如何用标签分开吗?
\t
let columns = line.components(separatedBy: "\t")
noj0wjuj1#
这种情况经常发生。答案在问题之后不久就出现了。关键是使用unicode值而不是\t,因为Numbers将制表符导出为unicode值,而不是'\t'。即line.components(separatedBy: "\u{0009}")你应该注意到,如果你在Xcode中编辑文件来创建一个测试用例,你应该将“indent with”设置为Tabs而不是Spaces。
line.components(separatedBy: "\u{0009}")
1条答案
按热度按时间noj0wjuj1#
这种情况经常发生。答案在问题之后不久就出现了。
关键是使用unicode值而不是
\t
,因为Numbers将制表符导出为unicode值,而不是'\t'。即
line.components(separatedBy: "\u{0009}")
你应该注意到,如果你在Xcode中编辑文件来创建一个测试用例,你应该将“indent with”设置为Tabs而不是Spaces。