import std.stdio; import std.string:toLower,indexOf;

/// /// 说明:字符串替换函数 /// Params: /// allStr = 待处理字符串或可转为字符串的类型 /// searchStr = 待替换子字符串或可转为字符串的类型 /// replaceStr = 替换后子字符串或可转为字符串的类型 /// isCaseSensitive = 是否大小写敏感,默认true void replaceString(T)(T allStr, T searchStr, T replaceStr, bool isCaseSensitive=true) { string strAll = allStr.to!string; string strSearch = searchStr.to!string; string strReplace = replaceStr.to!string; long index = 0; while ((index = isCaseSensitive ? strAll.indexOf(strSearch, index) : strAll.toLower().indexOf(strSearch.toLower(), index)) != -1) { strAll = strAll[0 .. index] ~ strReplace ~ strAll[index + strSearch.length .. $]; index += strReplace.length; } writeln(strAll); } void main() { string one = "Hello World hi javascript dlang JAvAscript"; replaceString(one,"javascript","js",true); replaceString(123, 2, 5, false); replaceString("hello", 'l', 'x', true);

d语言如下代码import stdstdio;import stdstringtoLowerindexOf; 说明字符串替换函数 Params allStr = 待处理字符串 searchStr = 待替换子字符串 replaceStr = 替换后子字符串 isCaseSensitive = 是否大小写敏感默认truevoid replaceStringstring allStr

原文地址: https://www.cveoy.top/t/topic/fmMr 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录