Удалить заданные символы из строки (язык D) - PullRequest
0 голосов
/ 31 января 2019

У меня есть строка source и строка toBeRemoved.

Я хочу удалить из source все символы, присутствующие в toBeRemoved.

Что такоелучший способ сделать это на языке программирования D?

Пример :

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

1 Ответ

0 голосов
/ 01 февраля 2019

Если вы заранее знаете, какие символы должны быть удалены, вы можете использовать any, так как он немного быстрее, потому что он может создать специализированную таблицу переключателей во время компиляции:

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

В противном случае, например,canFind помогает:

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

Обратите внимание, что filter является ленивым (и без выделения).Если вам действительно нужна строка в конце, используйте, например, .to!string.

...