【发布时间】:2015-10-07 22:03:17
【问题描述】:
使用graphemes 比split 从UTF-8 字符串创建数组有优势吗?
例如,考虑以下情况:
# Define a UTF-8 string with a bunch of multibyte characters
s = "{(-n↑⍵÷⊃⊖⍵),⍨⍉1↓⍉∘.=⍨⍳n←1-⍨≢⍵}"
# Create an array using split
split(s, "")
# Create an array using graphemes (v0.4+)
collect(graphemes(s))
这两种方法都会产生预期的输出。确实,
split(s, "") == collect(graphemes(s))
返回true。
这两种方法似乎始终产生相同的结果。一种方法是否普遍优于另一种方法,无论是出于性能、风格还是其他方面?
(请注意,graphemes 返回的是迭代器而不是数组,因此是 collect。)
【问题讨论】: