非常简单的问题:如何在Java中测量文本中两个单词之间的距离?例如,文本可以是:
汽车的颜色是蓝色。
如何在这句话中获得颜色和 blue 这个词的距离?我知道从颜色到蓝色的距离是5.如何在Java中获得5的距离?
提前致谢。
答案 0 :(得分:6)
以下是您可以做的事情:
将其翻译成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));