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

标签 string replace d

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

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

使用 D 编程语言执行此操作的最佳方法是什么?

示例:

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

最佳答案

如果您提前知道要删除的字符,则可以使用 any 因为它会更快一点,因为它可以在编译时构建专门的开关表:

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

否则,例如canFind 帮助:

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

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

关于string - 从字符串中删除给定字符(D语言),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54467991/

相关文章:

javascript - 从数组中删除空字符串,同时保留无循环记录?

python - 如何在 Python 中转换像 u'\\u4f60\\u4f6 0' to u'\u4f60\u4f60' 这样的 unicode 字符串?

PHP 正则表达式将两个斜杠 (//) 替换为新行

c++ - 让 GDC 前端发出中间 C/C++ 代码?

d - 如何检测函数是否用@property注释

python - 在python中大约将unicode字符串转换为ascii字符串

javascript - 如何在 JavaScript 正则表达式中用 (n-1) 次出现的相同字符替换 (n) 次出现的字符

javascript - 在目录中查找文件,扫描其他目录文件并替换所有出现的文件名

d - 如何声明分配给 File.byLine() 的变量?

c - 二维字符串数组