【问题标题】:Finding Position of a word in a string [duplicate]在字符串中查找单词的位置[重复]
【发布时间】:2016-12-12 15:16:07
【问题描述】:

我正在尝试开发一个程序来分析字符串中包含多个单词的句子。

当输入句子中的单词时,程序应该识别该输入单词在字符串中出现的所有位置。所以如果我有字符串:

不要问你的国家能为你做什么,而要问你能为你的国家做什么

我输入了它应该输出的“国家”这个词:

Country 这个词的位置是:5, 17

创建字符串后我不确定应该从哪里开始

【问题讨论】:

  • 您可以先阅读JavaDoc of the String class,看看它能为您做什么。
  • 这是一个非常简单的作业,有多种方法可以完成。阅读String.indexOf()

标签: java string indexing


【解决方案1】:

请阅读评论中提供的 JavaDoc。

基本上当您有String 时,您可以通过调用split(" ") 方法来执行split 操作。这会将整个字符串拆分为一个数组String[]

然后你可以遍历数组并打印单词的位置。

记住:对字符串的操作可以有多种方式

工作示例:

public static void main(String[] args) {
    String wholeString = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU BUT WHAT YOU CAN DO FOR YOUR COUNTRY";
    String[] justWords = wholeString.split(" ");
    String searchString = "COUNTRY";

    for (int i = 0; i < justWords.length; i++) {
        if (justWords[i].equals(searchString)) {
            System.out.println("The word " + searchString + " is in the position: " + i);
        }
    }
}

请记住,我从 0 开始计数,因此单词 COUNTRY 的位置将在 4 和 16 而不是 5 和 17,但您应该能够根据您的要求进行调整

输出:

The word COUNTRY is in the position: 4

The word COUNTRY is in the position: 16

JavaDoc

您搜索的字符串是用户输入的其他示例。

public static void main(String[] args) throws IOException {
    BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    System.out.print("Enter word you are looking for");
    String searchString = br.readLine();

    String wholeString = "ASK NOT WHAT YOUR COUNTRY CAN DO FOR YOU BUT WHAT YOU CAN DO FOR YOUR COUNTRY";
    String[] justWords = wholeString.split(" ");


    for (int i = 0; i < justWords.length; i++) {
        if (justWords[i].equals(searchString)) {
            System.out.println("The word " + searchString + " is in the possition: " + i);
        }
    }
}

【讨论】:

  • 有没有办法检查用户输入的单词?
  • 当然,从控制台读取输入并将其放入字符串变量中进行存储,然后遍历并将其打印回用户:) 如何从控制台读取:stackoverflow.com/questions/4644415/…
  • 我编辑了我的答案。如果它符合您的需要,请接受它:)
  • 干杯,这对我有帮助
  • 你如何让它区分大小写?
猜你喜欢
  • 2017-10-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-05-31
相关资源
最近更新 更多