在Julia中获取UTF-8子串的最简单方法是什么?

时间:2016-01-31 04:35:30

标签: utf-8 julia

Julia中的UTF-8字符串不能使用切片运算符,因为它切换字符串的字节索引而不是字符。例如

s = "ポケットモンスター"
s[1:4]

s [1:4]将是"ポケ"不是"ポケット"。

我想知道Julia中获取UTF-8子字符串的最简单和最易读。

2 个答案:

答案 0 :(得分:5)

也许这个问题要求注意标准字符串库中的一些缺失函数(它应该在下一版Julia中进行更改)。与此同时,如果我们定义:

substr(s,i,j) = s[chr2ind(s,i):chr2ind(s,j)]

然后,

substr(s,1,4)

将是"ポケット"

答案 1 :(得分:3)

您可能需要考虑使用UTF32String而不是UTF8String,如果您打算这么做,并且只在必要时转换为UTF8String