在字符串中查找单词的位置

时间:2016-12-12 15:16:07

标签: java string indexing

我正在尝试开发一个程序,用字符串中的几个单词分析句子。

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

  

请问您的国家/地区不能为您所做的事情但是您可以为您的国家/地区做些什么

我输入了#34; country"它应输出:

  

国家一词位于:5,17

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

1 个答案:

答案 0 :(得分: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);
        }
    }
}