我想检索给定奇数长度字符串的中间三个字符。例如,如果获取奇数长度字符串的中间三个字符
string original = "India" // expected output - "ndi"
string original = "America" // expected output - "eri"
我试过下面的代码,它按照要求工作,但我想知道有没有更好的办法做同样的?
public string GetMiddleString (string original)
{
string trimmed = string.Empty;
int midCharIndex = (original.Length/2);
if ((original.Length) % 2 != 0)
{
trimmed = original.Substring (midCharIndex - 1, 3);
}
else
{
trimmed = original;
}
return trimmed;
}
传递'null',并且单个字符串抛出异常,两个字符的字符串返回不正确的结果,而4个字符的字符串是错误的结果。 – asawyer
@asawyer是的,我会在我的项目中编辑相应的代码,并进行异常处理和检查空值。谢谢。 – RahulD
什么是“奇怪的字符串”?一个是奇数的长度?是什么让你认为你的代码只会被这种字符串调用? –