d从串中删非数字
import std.stdio;
import std.algorithm : find, filter;
import std.conv : to;
import std.uni : isNumber;
void main(string[] args){
if (args.length > 1){
auto filtered = () {
auto r = args[1].find!isNumber;//检查串包含整
return r.length ?
r.filter!isNumber.to!string // 保留整
: args[1]; // 不变
} ();
filtered.writeln;
} else {
write("写参");
}
}
旧C方式:
import std.stdio;
void main(){
string s, str = "4A0B1de!2C9~6";
foreach(i;str){
if(i < '0' || i > '9'){ continue; }
s ~= i;
}
writeln("Result: ", s);
}
这样:
void main() {
string s = "blahblah123blehbleh456bluhbluh";
auto result = s.filter!(ch => ch.isDigit).to!int;//可转为长.或`串`.
assert(result == 123456);
}
3
行能搞定,为何写6
行.
这样:
void main(){
string s, str = "4A0B1de!2C9~6";
foreach(i;str){
(i >= '0' && i <= '9') ? s~=i : null;
}
writeln(s);
}
简单C方式.
不操作值,还可更简单:
void main() {
string s = "blahblah123blehbleh456bluhbluh";
writeln(s.filter!(ch => ch.isDigit));
}
没有存储,直接输出至标出
.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现