我想做一個程序,如果給定的字符串中有兩個破折號,返回前兩個破折號之間的文本。如果它沒有至少兩個破折號,它將返回它不存在。防爆。我有一個字符串如何抓住兩個相同的字符之間的字符串
String s = "I AM -VERY- HUNGRY"
而我希望我的程序返回非常,這是兩個破折號之間。這是我的代碼到目前爲止
public static String middleText(String sentence)
{
int count = 0;
for (int i = 0; i < sentence.length(); i++)
{
if (sentence.charAt(i) == '-')
{
count++;
}
}
if (count >= 2)
{
return sentence.substring(sentence.indexOf("-") + 1);
}
else
{
return "DOES NOT EXIST";
}
}
但是,此代碼不會產生我所需的輸出。如果我把這個字符串「I-HUNY-HUNGRY」放到這段代碼中,它會返回「非常飢餓」。我怎樣才能做到這一點,所以它只抓住文字直到第二個破折號?
跟蹤在該指數的特點是 - 。然後,在這些數字之間取一個子串... – Li357
'sentence.indexOf(「 - 」)'返回第一個「 - 」和「substring」的位置,只有一個參數給出從該位置開始直到結束的字符串。 – Sentry
提示:當事情正常時,你的方法應該返回一個** String **。所以返回一個String **錯誤**信息實在是一個壞主意!使用該方法的代碼將不得不檢查返回的字符串是否不存在來確定發生了什麼。不好的風格! – GhostCat