日期:2014-05-18  浏览次数:20351 次

█████ 寻一个高效率的随机统一替换方法(挑战智商) █████
string   A= "我,是,中,国,人 ";
string   B= "abcdabcdabcd(此处省略一万个 'abcd ') ";

现在想将变量B中的a替换为A中随机一个中文,比如说“中”字。最后结果为“中c中c中c”。
注意事项:
1,因为是随机的,所以也有可能会出现“国c国c国c”或是“我c我c我c”这样的效果。
2,上面只是说了a的替换,实际使用中,还要替换b和c和d,也就是B里出现的所有字符。

请教,有什么高效率的实现办法?


------解决方案--------------------
后代码
using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class CSDN_Pro1 : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{

string A = "我,是,中,国,人 ";
string B = "abcdabcdabcd ";

string[] sA = A.Split( ', ');
Random rdm = new Random();
Random rdmB = new Random();
string[] sB ={ "a ", "b ", "c ", "d " };

string tagSB = sB[rdmB.Next(0, 4)];
string sourceSA = sA[rdm.Next(0, sA.Length)];


string ReplacedSB = ReplaceB(B, tagSB, sourceSA);

Label2.Text = ReplacedSB;

}

private string ReplaceB( string B,string tagSB,string sourceSA)
{


return B.Replace(tagSB, sourceSA);


}

protected void Button1_Click(object sender, EventArgs e)
{

}
}