从字符串中删除给定的字符(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
.
我有一个字符串 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
.