从随机单词中获取随机字符并替换它



我设法从我的txt文件中随机获取了一个单词。它的作用是读取 1000 个随机字符串。我接下来需要做的是,当读取随机字符串时,它会用 * 替换(或不替换)该字符串的随机字符(* 在另一个程序中用作正则表达式".")。然后需要将这个词保存到一个新的 txt 文件中。

首先:我在想:随机阅读一个单词,然后计算它的长度。然后做一个随机数,并将该随机数的字符替换为 *。你认为这将是一个很好的解决方案吗?

第二:上层解决方案总是只替换 1 个字符,对吗?但我希望它替换单词的随机数(例如 2 或 3 或 4)字符。

public class random {
    public static void main(String[] args) {
        int dolzina=0;
        ArrayList random = new ArrayList();
        try {
            File file = new File("sortirane_besede.txt");
            FileReader fileReader = new FileReader(file);
            BufferedReader bufferedReader = new BufferedReader(fileReader);
            String vrstica;
            while ((vrstica = bufferedReader.readLine()) != null) {
                random.add(vrstica);
                //dolzina=random.size();
                //System.out.println(dolzina);
            }
            System.out.println("Generating 1000 random integers in range 0..129470.");
            Random randomGenerator = new Random();
            for (int idx = 0; idx <= 1000; ++idx){
                int randomInt = randomGenerator.nextInt(129470);
                System.out.println("Pozicija besede: " + randomInt);
                System.out.println(random.get(randomInt));
            }
            System.out.println("Done.");

        }catch (IOException e) {
            e.printStackTrace();
        }
    }
}

首先:我认为你是对的。如果你有一个长度为6的单词,你可以生成上限为6的随机数,然后替换随机生成器产生的字符,比如说4th。您可以通过将字符串拆分为数组,然后利用要替换的数组的索引号来实现此目的。

您可以将其用作拆分功能的起点

第二:当您将单词拆分为数组值时,您可以在指定的范围(2 到 4)内对数组索引执行随机数生成,然后从数字 1 调用替换函数。

最后:我认为值得注意的是,您可以通过使用随机数量的 2 个选项来做出一些无偏见的决定,其中 0 为真,1 为假。此外,在某些情况下,随机生成可能会给应用程序的性能带来相当大的开销。

import uuid

文件名=[ ]

对于范围 (0,999) 中的 i:

filename.append('word_%s.txt' % uuid.uuid4().____str___().replace('-',''))

最新更新