私はweather APIを実装する必要があるpircbotを使用してJava IRC APIプロジェクトを行っています。しかし、それをテストする途中で何かがメッセージ文字列を処理しています。 JavaでindexOfを使用して文字列を分割する際のトラブル
オースティンの天気突風
、これには、ユーザーが天気APIを使用したい示しますEX(市)天気(コンポーネント)
:私は、ユーザーが入力SO-のようにそれをやろうとしていますgustの情報をオースティンにします。 これを行うには、文字列を "分割して"(都市)と(コンポーネント)部分文字列をそれぞれの文字列に入れたいと思います。
public static void main (String args[]) {
String message = "Austin weather gust";
int firstIndex = message.indexOf("weather");
System.out.println(firstIndex);
}
といじりの後、のindexOfはのために働くようだ:
else if (message.contains("weather")) {
String component;
String city;
int indexA = 0;
int indexB = message.indexOf(" weather");
int indexC = (message.indexOf("weather") + 6);
int indexD = message.length() + 1;
city = message.substring(indexA, indexB);
component = message.substring(indexC, indexD);
startWebRequestName(city, component, sender, channel);
}
、それが動作していないようでしたので、私はテストクラスで実験を開始した:そうは次のように私はそれを実行しようとしました「オースティン」に含まれるすべての文字と部分文字列ですが、それ以降は何もありません。 "weather"、 "w"、 "gust"のような "Austin"の後のものでは、indexOfは-1を返します。これは奇妙です。何か案は?
また、私が何かを工夫する必要があるかどうか教えてください。私はこのことがうまく説明されていないと感じています。
どのバージョンのJavaを使用していますか(java -version)? – bb94