我想做一个程序,如果给定的字符串中有两个破折号,返回前两个破折号之间的文本。如果它没有至少两个破折号,它将返回它不存在。防爆。我有一个字符串如何抓住两个相同的字符之间的字符串
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