gpt4 book ai didi

c# - 如何用不同的字符替换字符串中的每个数字?

转载 作者:行者123 更新时间:2023-12-02 02:08:02 24 4
gpt4 key购买 nike

我正在尝试获取一个字符串,例如“e1e2e3”,将每个数字替换为不同的字符,在本例中将是一个随机数。而不是 e1e2e3,它可能是类似 e5e9e1 的东西,因为每个数字都被替换为随机数字。

我试过了

string txt = textBox1.Text;
Regex digits = new Regex(@"\d", RegexOptions.None);
Random rand = new Random();
txt = digits.Replace(txt, rand.Next(0, 9).ToString());
MessageBox.Show(txt);

问题是,每个数字都被替换为相同的随机数。 “e1e2e3”将类似于“e2e2e2”,其中每个数字都是相同的。

最佳答案

你快到了,你可以使用callback Regex.Replace 为每个替换创建一个随机值,而不是使用单个随机值。

如果您只想匹配数字 0-9,可以使用 [0-9] 而不是 \d,因为后者可以匹配 all Unicode digits

string txt = textBox1.Text;
Regex digits = new Regex(@"\d", RegexOptions.None);
Random rand = new Random();
txt = digits.Replace(txt, match => rand.Next(0, 9).ToString());
MessageBox.Show(txt);

查看C# demo

关于c# - 如何用不同的字符替换字符串中的每个数字?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68112647/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com