如何测量Java中两个单词之间的距离?

时间:2013-11-20 10:17:06

标签: java

非常简单的问题:如何在Java中测量文本中两个单词之间的距离?例如,文本可以是:

汽车的颜色蓝色

如何在这句话中获得颜色 blue 这个词的距离?我知道从颜色蓝色的距离是5.如何在Java中获得5的距离?

提前致谢。

3 个答案:

答案 0 :(得分:6)

以下是您可以做的事情:

  1. Split数组根据空格。
  2. 获取第一个单词的索引
  3. 获取第二个单词的索引
  4. 减去索引,即“距离”。
  5. 将其翻译成Java很简单..我留给你。

答案 1 :(得分:2)

这可能是解决方案的近似值:

public static void main(String[] args) {
    final String strWords = "The color of the car is blue.";
    final String word1 = "color";
    final String word2 = "blue";

    // Remove any special chars from string
    final String strOnlyWords = strWords.replace(",", "").replace(".", "");

    final List<String> words = Arrays.asList(strOnlyWords.split(" "));
    final int index1 = words.indexOf(word1);
    final int index2 = words.indexOf(word2);
    int distance = -1;

    // Check index of two words
    if (index1 != -1 && index2 != - 1) {
        distance = index2 - index1;
    }

    System.out.println(distance);
}

答案 2 :(得分:1)

您可以通过以下代码执行此操作:

    String s = "The color of the car is blue";
    String[] arr = s.split(" ");
    int startIndex = -1;
    int endIndex = -1;
    for(int i=0; i<arr.length; i++){
        if(arr[i].equals("color")){
            startIndex = i;
        }
        else if(arr[i].equals("blue")){
            endIndex = i;
        }
    }
    System.out.println("distance is: " + (endIndex-startIndex));