Java 如何获取特定单词前面的字符串部分的字数?

Java 如何获取特定单词前面的字符串部分的字数?,java,string,position,Java,String,Position,给定一个特定字符串和该字符串中出现的特定单词,如何计算该单词前面的单词数 例如,如果有一句话“我住在农场的一栋红房子里”和“红色”这个词,我如何确定这个词前面有多少个词?我想创建一个函数,该函数将原始字符串和目标单词作为参数,并打印如下语句: 在单词red之前有4个单词 通常,您可以通过查找、搜索或indexOf函数执行此操作: 试试看: 只需找到指定单词的索引并使用substring方法。然后按空格拆分该子字符串以获得单词数组: String str = "I live in a red

给定一个特定字符串和该字符串中出现的特定单词,如何计算该单词前面的单词数

例如,如果有一句话“我住在农场的一栋红房子里”和“红色”这个词,我如何确定这个词前面有多少个词?我想创建一个函数,该函数将原始字符串和目标单词作为参数,并打印如下语句:

在单词red之前有4个单词


通常,您可以通过查找、搜索或indexOf函数执行此操作:

试试看:


只需找到指定单词的索引并使用substring方法。然后按空格拆分该子字符串以获得单词数组:

 String str = "I live in a red house on the farm";
 int count = str.substring(0, str.indexOf("red")).split(" ").length;  // 4

可能重复的Try This:String str=我住在农场的一栋红房子里;字符串[]数组=str.split;int i=0;对于字符串x:array{if!x.equalsred{i++;}else{break;}}System.out.println红色前有+i+个字;}}理想情况下,这应该由一个自然语言处理库来处理。我试过了,但我试图在关键字之前找到实际的字数,而不是索引。
 String str = "I live in a red house on the farm";
 int count = str.substring(0, str.indexOf("red")).split(" ").length;  // 4