C#查找字符串中间字符的最佳方法



使用C#查找字符串中间字符的最佳方法是什么

我知道我可以计算字符串中有多少个字符,然后计算出要获得的一个或多个索引,但有没有更好、更快的方法,也许是regEx,C#内置的东西

因此,如果输入是"0";汽车;输出将是"0";a";但是如果输入是汽车,则输出将是"汽车";ar";

我们首先需要确定字符串的字符数是偶数还是奇数。

如果有奇数个字符,我们对Length / 2进行整数除法,然后从该位置取1个字符。

但是,如果存在偶数个字符,那么我们必须从Length / 2的整数除法中减去1,并且我们希望从该位置取2个字符。

在代码中,我们可以使用模算子(%(来确定Length是否为偶数,并将offset变量设置为适当的值(1表示偶数,0表示奇数(,然后使用它来获得要取的子串的起始位置和长度:

var offset = input.Length % 2 == 0 ? 1 : 0; 
var middle = input.Substring(input.Length / 2 - offset, offset + 1);

你可以做一些类似的事情

string myString = "yourtexthere";
if(myString.Length % 2 == 0){
Console.WriteLine(myString.Substring((myString.Length / 2 ) - 1, 2));
}else{
Console.WriteLine(myString[myString.Length / 2]);
}

尽管我相信有更漂亮的方法可以做到这一点。

相关内容

最新更新