当前位置: 首页 > 知识库问答 >
问题:

在文本中,给定长度的单词应替换为分配的字符串(一些随机单词)。输出初始文本和结果

江子石
2023-03-14

禁止使用正则表达式处理工具:java.util.regex包类(Pattern,Matcher等。),以及String类的方法(matches、replace、replaceFirst、replaceAll、split)。使用StringBuilder或StringBuffer。帮忙做任务。

public static void main(String[] args) {
        String[] arr = new String[4];
        arr[0] = "I";
        arr[1] = "love";
        arr[2] = "orange";
        arr[3] = "juice.";
        System.out.println(arr[0]+" "+ arr[1]+" " + arr[2]+" "+ arr[3]); // I love orange juice
        String randomWord = "crazy impressed of ";
        int givenLength = 4;
        for (int i=0; i<arr.length; i++){
            if (arr[i].length() == givenLength) {
                arr[i] = randomWord;
            }
        }
        String output = String.join(" ",arr);
        System.out.println(output); // I crazy impressed of orange juice
        }

我必须在代码中使用StringBuilder和StringBuffer,但我不知道如何做到这一点。请帮帮我。你可以使用类

共有1个答案

郭辉
2023-03-14

可能你需要这样的东西:

public static void main(String[] args) {
    String input = "all words like willbereplaced with length like word replacedwillbe";
    int givenLength = 14;
    StringBuilder builder = new StringBuilder();
    int currentWordLength = 0;
    for(char let: input.toCharArray()) {
        if(' ' == let){
            if(currentWordLength == givenLength) {
                builder.replace(builder.length() - givenLength, builder.length(), getRandom());
            }
            currentWordLength = 0;
        } else {
            currentWordLength++;
        }
        builder.append(let);
    }
    if(currentWordLength == givenLength) {
        builder.replace(builder.length() - givenLength, builder.length(), getRandom());
    }

    System.out.println(input);
    System.out.println(builder.toString());
}

static String getRandom() {
    return Math.random() < 0.5 ? "random1" : "random2";
}
 类似资料:
  • 问题内容: 给定以下字符串 这是所需的输出:( 每个长号,无论长度如何,都应替换为姓氏) 这里的问题是,可能有很多可变长度(最大长度可以<20)… 我尝试了 多种 方法,并采用了以下方法。 有没有办法有效地做到这一点..任何建议将是最欢迎的 问题答案: 首先删除多个下划线,然后进行替换。 这是一种方法:

  • 我有一个阿拉伯语的文本字符串,我想让一些单词加粗,并在单词前添加图标 我在英文文本中使用的方法是 当我在阿拉伯语单词中使用这种方法时,它不起作用 测试用文本: :,, .阿司匹林:, 这是一个很好的例子

  • 问题内容: 我想替换字符串语句中的单词,例如: 用实际名词/动词替换“ $ $”(含)中的字符的正则表达式是什么? 问题答案: 您不需要为此使用正则表达式。我会做 仅在需要时使用正则表达式。通常比较慢。

  • 我有一条短信。在这篇文章中是一张图片。我想把每个单词柏林都换成一个链接。现在我有问题,这站在图片的旧部分也是柏林,这也被取代。 有没有可能照片中的柏林没有被取代?注意,代码只是一个示例。我通常从wordpress获取内容。但这与此无关。我想。

  • 我试图开发一个刽子手作为作业,但无法从文本文件中随机获得一个单词(其中有各种单词,每个单词之间用空格分隔)。我编写了一个代码来获取一个随机单词,但无法选择一个单词并用示例字符串(string w=“this”)替换它我在“Function()”中找到了。

  • 有人能帮我写代码吗?如何在字符串文本中搜索单词,此单词以“.”结尾java中的“或” 我不想这样搜索来找到它