用分隔符拆分字符串

时间:2014-04-12 09:40:31

标签: string d dmd

好的,所以我有一个string并希望拆分它并将其部分返回到字符串数组中。

这是我的代码:

// import std.algorithm;

string   include  = "one,two,three";
string[] paths    = splitter(include,",");

这会引发错误:Error: cannot cast from Result to string[]

即使我尝试在函数调用前添加cast(string[])

有什么想法吗?

2 个答案:

答案 0 :(得分:5)

splitter返回一个懒惰分裂的范围。

要急切分开,请使用split中的std.array

或者,您可以使用std.array.array将范围保存到数组中,如下所示:

string[] paths = include.splitter(",").array();

答案 1 :(得分:3)

在这种情况下,使用std.array中的split()可能更常规,因为它已经处理数组,与分割器相比,你不需要转换类型或任何东西。

需要:

import std.array;

用法:

auto paths = split(include, ",");