d语言如下代码import stdstdio;import stdstringtoLowerindexOf;import stdtraitsisConvertibleToString; 说明字符串替换函数 Params allStr = 待处理字符串 searchStr = 待替换子字符串 replaceStr = 替换后子字符串 isCaseSensitive = 是否大小写敏
import std.stdio; import std.string:toLower,indexOf; import std.traits:isConvertibleToString;
/// /// 说明:字符串替换函数 /// Params: /// allStr = 待处理字符串 /// searchStr = 待替换子字符串 /// replaceStr = 替换后子字符串 /// isCaseSensitive = 是否大小写敏感,默认true void replaceString(T)(ref T allStr, T searchStr, T replaceStr, bool isCaseSensitive=true) if(isConvertibleToString!T) { 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; } allStr = strAll.to!T; }
void main() { string one = "Hello World hi javascript dlang JAvAscript"; replaceString(one,"javascript","js",true); writeln(one);
int two = 123456;
replaceString(two, 2, 0);
writeln(two);
double three = 3.1415;
replaceString(three, '.', ',');
writeln(three);
}
// Output: // Hello World hi js dlang JAvAscript // 103456 // 3,141
原文地址: https://www.cveoy.top/t/topic/fmKe 著作权归作者所有。请勿转载和采集!