我有一个包含这样字符的文本文件(例如:): 嗨,伙计。怎么样凉。 LOOL。喜欢这个东西。真实的。 yep.no way.it's real.haha。
这个字符是预定的,在这种情况下是'。'我应该用另一个角色替换这个角色的40%。 40%的字符是随机选择的(只选择'。')。我将如何找到这些字符,然后替换它们?
答案 0 :(得分:3)
您可以找到。的数字,例如:20并存储索引。成阵列 您可以找到有多少要删除的内容:示例:8 然后循环遍历索引数组8次,从该数组中获取一个随机数并用空格替换该索引。顺便说一下,你需要在每次更新时从数组中删除更新的索引。
答案 1 :(得分:0)
你想要做的是找到'。'的所有索引。并将它们存储在某个地方,在本例中是一个数组。获得所有这些索引后,您将获取最大索引并将其用作随机数生成器的最大值。将最大索引除以40,您需要更换一个字符的次数。获取您生成的随机数并开始替换这些索引处的字符。
int i = 0, chr[] = 0;
while (chr[i] != -1)
{
if (string.indexof(specifiedChar, chr[i]) != -1)
{
chr[i] = string.indexof(specifiedChar, chr);
i ++;
}
else
{
chr = -1;
}
}
chr []将包含你所有。的所有索引(假设具体为Char ='。')。我='。'的数量。不要将上面的代码作为准备推出,但它通常对你的问题是正确的。
endInt = i;
int x = RandomNumber.Next(startInt, endInt);
然后将索引[x]中的字符替换为''