当前位置:  开发笔记 > 编程语言 > 正文

如何确定字符串是否包含前X个字符中的特定子字符串

如何解决《如何确定字符串是否包含前X个字符中的特定子字符串》经验,为你挑选了5个好方法。

我想检查Value1下面是否在前X个字符中包含"abc".你会如何用if声明来检查?

var Value1 = "ddabcgghh";

if (Value1.Contains("abc"))
{
    found = true;
}

它可以在前3,4或5个字符内.



1> Jon..:

或者,如果您需要设置found的值:

found = Value1.StartsWith("abc")

编辑:鉴于你的编辑,我会做类似的事情:

found = Value1.Substring(0, 5).Contains("abc")



2> 小智..:

我会使用IndexOf方法的一个重载

bool found = Value1.IndexOf("abc", 0, 7) != -1;



3> keithwarren7..:

较短的版本:

found = Value1.StartsWith("abc");

对不起,但我是"少"代码的坚持者.


鉴于提问者的编辑我实际上会接受一个接受偏移的东西,这实际上可能是一个扩展方法的一个好地方,重载StartsWith

public static class StackOverflowExtensions
{
    public static bool StartsWith(this String val, string findString, int count)
    {
        return val.Substring(0, count).Contains(findString);
    }
}



4> olle..:
if (Value1.StartsWith("abc")) { found = true; }



5> Chaowlert Ch..:

使用IndexOf更容易,性能更高.

int index = Value1.IndexOf("abc");
bool found = index >= 0 && index < x;

推荐阅读
TXCWB_523
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有