【发布时间】:2014-10-28 10:55:27
【问题描述】:
我正在尝试创建一个静态方法“indexOfKeyword”并返回一个 indexOf 字符串,其中该字符串未嵌入到另一个单词中。如果没有这种情况,它将返回 -1。
例如,
String s = "In Florida, snowshoes generate no interest.";
String keyword = "no";
这将返回 31。
我认为唯一的问题不是找到下一次出现的字符串关键字。到目前为止我所拥有的是:
public static int indexOfKeyword( String s, String keyword )
{
s = s.toLowerCase();
keyword = keyword.toLowerCase();
int startIdx = s.indexOf( keyword );
while ( startIdx >= 0 )
{
String before = " ";
String after = " ";
if ( startIdx > 0 ){
before = s.substring( startIdx - 1 , startIdx);
}
int endIdx = startIdx;
if ( endIdx < s.length() ){
after = s.substring( startIdx + keyword.length() , startIdx + keyword.length() + 1);
}
if ( !(before.compareTo("a") >= 0 && before.compareTo("z") <= 0 && after.compareTo("a") >= 0 && after.compareTo("z") <= 0)){
return startIdx;
}
startIdx =
/* expression using 2-input indexOf for the start of the next occurrence */
}
return -1;
}
public static void main( String[] args )
{
// ... and test it here
String s = "";
String keyword = "";
System.out.println( indexOfKeyword( s, keyword ) );
}
【问题讨论】:
-
感谢大家的回答,但我忘了提到我正在尝试使用佛罗里达示例制作静态方法“indexOfKeyword”根本行不通
标签: java