我想知道在反向模式下对字符串使用子字符串函数的最佳方法是什么?
例如我有一个字符串:
string mainStr= @"CDM\D1_1";
现在我想检查最后两个字符是否等于“_1”。注意:我不想在下划线上使用split。只是寻找最快的方法来执行一个反向子字符串,它从字符串中的最后一个字符开始并结束到第一个字符。到目前为止我试过这个,但不确定它是否有效!
string revStr = new string(mainStr.ToCharArray().Reverse().ToArray());
if (revStr.Substring(0, 2) == "_1")
{
//Do blah blah
}
更新
很抱歉打扰了你们,但周一你知道了!所以问题是我应该在反转阵列后检查“1_”。然而,最好使用string.EndsWith,如下所示。
答案 0 :(得分:9)
使用内置的string.EndsWith方法和string.StartsWith。
答案 1 :(得分:1)
到目前为止尝试了这个,但不确定它是否有效!
EHH。你没有测试过吗?
我会使用var index = str.LastIndexOf("_1");
只是寻找最快的方法来执行一个反向子字符串,它从字符串中的最后一个字符开始并结束到第一个字符。到目前为止我试过这个,但不确定它是否有效!
你让我很困惑。在这种情况下,您的示例不应包含sub.Substring(0, 2) == "1_"
吗?