从字符串中删除给定的字符(D语言)

Remove given characters from a string (D language)

我有一个字符串 source 和一个字符串 toBeRemoved

我想从 source 中删除 toBeRemoved 中存在的所有字符。

用 D 编程语言实现它的最佳方法是什么?

示例

string source = "abcd";
string toBeRemoved = "bd";
string result = ...; // "ac"

如果你事先知道要删除的字符,你可以使用 any 因为它可以在编译时构建一个专门的开关 table 更快一点:

source.filter!(c => !c.any('b', 'd'))

否则,例如canFind 帮助:

source.filter(c => !toBeRemoved.canFind(c))

请注意 filter 是惰性的(并且没有分配)。如果最后确实需要一个字符串,请使用例如.to!string.