第一种(循环):
function fun() {
var txt = "12345456a4sd5f465"
while (txt.length) {
var tempstr = txt[0];
var lenth = txt.length;
txt = txt.replace(new RegExp(tempstr, 'g'), '');
console.log("\t\r字符:'" + tempstr + "'出现'" + (lenth - txt.length) + "'次\r\t");
}
}
实现效果:
第二种(递归):
function fun(txt, resuit) {
if (txt.length <= 0) {
return resuit;
}
else {
var length = txt.length;
var tempstr = txt[0];
txt = txt.replace(new RegExp(txt[0], 'g'), '');
resuit[tempstr] = length - txt.length;
return fun(txt, resuit);
}
}
实现效果:
c#
//string str = "张asdf123asdf12s3d1fa3s2asdf阿斯顿发生啦发看来撒开绿灯飞机卡拉是v舰队防空拦截阿萨的开发接口连接阿萨1df2ds3";
public List<data> Fun(string str)
{
List<data> list = new List<data>();
while (true)
{
if (str.Length <= 0) break;
char temp = str[0];
var strlength = str.Length;
str = Regex.Replace(str, temp.ToString(), "");
var temolength = str.Length;
list.Add(new data() { key = temp.ToString(), name = (strlength - temolength).ToString() });
}
return list;
}
c#效果预览: