从 D 中的 char[] 中删除空格的推荐方法是什么。例如使用 dmd 2.057 我有,
import std.stdio;
import std.string;
import std.algorithm;
char[] line;
int main(){
line = r"this is a line with spaces ";
line = removechars(line," ");
writeln(line);
return 0;
}
在编译时,这将产生这个错误:
Error: cannot implicitly convert expression ("this is a line with spaces ") of type string to char[]
Error: template std.string.removechars(S) if (isSomeString!(S)) does not match any function template declaration
Error: template std.string.removechars(S) if (isSomeString!(S)) cannot deduce template function from argument types !()(char[],string)
在进行一些谷歌搜索时,我发现类似的错误已被报告为错误并已于2011 年 6 月提交,但不确定它是指同一件事还是不同的问题。
一般来说,建议从字符串中删除某些字符并维护前一个字符数组中的字符顺序的方法是什么?
在这种情况下返回
assert(line == "thisisalinewithspaces")
删除空白字符后