static public string Replace(string s) { char[] c = s.ToCharArray(); for (int i = 2; i < c.length; i += 4) c[i] = '*'; for (int i = 3; i < c.length; i += 4) c[i] = '*'; return new string(c); }
using System; class Program { static void Main() { string s = "zhanghao123456789"; Console.WriteLine(Replace(s)); // 输出:zh**gh**12**56**9 } static public string Replace(string s) { char[] c = s.ToCharArray(); for (int i = 2; i < c.Length; i += 4) c[i] = '*'; for (int i = 3; i < c.Length; i += 4) c[i] = '*'; return new string(c); } }
这样(只用一个for循环)效率还可以提高一些: static public string Replace(string s) { char[] c = s.ToCharArray(); int i; for (i = 3; i < c.Length; i += 4) c[i-1] = c[i] = '*'; if (i > 0 && i == c.Length) c[i-1] = '*'; return new string(c); }
string s = "zhanghao";
MatchCollection mc = reg.Matches(s);
string str=string.Empty ;
for (int i = 0; i < mc.Count;i++ )
{
if(i %2==0)
{
str += mc[i];
}
else
{
str += "**";
}
}
MessageBox.Show(str);
*****************************************************************************
欢迎使用CSDN论坛专用阅读器 : CSDN Reader(附全部源代码) http://feiyun0112.cnblogs.com/
{
char[] c = s.ToCharArray();
for (int i = 2; i < c.length; i += 4) c[i] = '*';
for (int i = 3; i < c.length; i += 4) c[i] = '*';
return new string(c);
}
{
static void Main()
{
string s = "zhanghao123456789";
Console.WriteLine(Replace(s));
// 输出:zh**gh**12**56**9
} static public string Replace(string s)
{
char[] c = s.ToCharArray();
for (int i = 2; i < c.Length; i += 4) c[i] = '*';
for (int i = 3; i < c.Length; i += 4) c[i] = '*';
return new string(c);
}
}
{
char[] c = s.ToCharArray();
int i;
for (i = 3; i < c.Length; i += 4) c[i-1] = c[i] = '*';
if (i > 0 && i == c.Length) c[i-1] = '*';
return new string(c);
}
不过正则比较简单