-->

如何检查是否一个字与给定的字符开始?(How to check if a word starts w

2019-07-22 03:13发布

我有一个SharePoint项目的列表:每个项目都有一个标题,描述和类型。 我成功地检索到它,我把它叫做result 。 我想先检查是否有任何项目result与A然后B,然后C,等我将不得不为每个字母字符做同样的,然后如果我找到一个词以该字符开头,我将不得不开始显示性格大胆。

我最初显示在使用该功能的字符:

private string generateHeaderScripts(char currentChar)
{
    string headerScriptHtml = "$(document).ready(function() {" +
        "$(\"#myTable" + currentChar.ToString() + "\") " +
        ".tablesorter({widthFixed: true, widgets: ['zebra']})" +
        ".tablesorterPager({container: $(\"#pager" + currentChar.ToString() +"\")}); " +
        "});";
    return headerScriptHtml;
}

我如何检查是否一个字与给定的字符开始?

Answer 1:

要检查一个值,使用:

    string word = "Aword";
    if (word.StartsWith("A")) 
    {
        // do something
    }

你可以做一个小的扩展方法传递与A,B和C的列表

    public static bool StartsWithAny(this string source, IEnumerable<string> strings)
    {
        foreach (var valueToCheck in strings)
        {
            if (source.StartsWith(valueToCheck))
            {
                return true;
            }
        }

        return false;
    }

    if (word.StartsWithAny(new List<string>() { "A", "B", "C" })) 
    {
        // do something
    }

作为奖励,如果你想知道你的字符串开头的东西,从列表中,并做一些基于该值:

    public static bool StartsWithAny(this string source, IEnumerable<string> strings, out string startsWithValue)
    {
        startsWithValue = null;

        foreach (var valueToCheck in strings)
        {
            if (source.StartsWith(valueToCheck))
            {
                startsWithValue = valueToCheck;
                return true;
            }
        }

        return false;
    }

用法:

    string word = "AWord";
    string startsWithValue;
    if (word.StartsWithAny(new List<string>() { "a", "b", "c" }, out startsWithValue))
    {
        switch (startsWithValue)
        {
            case "A":
                // Do Something
                break;

            // etc.
        }
    }


Answer 2:

假设你正在检查的字符串类型的属性,你可以使用String.StartsWith()方法。例如: -

if(item.Title.StartsWith("A"))
{
    //do whatever
}

冲洗和重复



Answer 3:

尝试下面的下面。 您可以执行StartsWith或子0,1(第一个字母)

    if (Word.Substring(0,1) == "A") {
    }


Answer 4:

你可以做这样的事情,检查是否有特定的字符。

public bool StartsWith(string value, string currentChar) {
   return value.StartsWith(currentChar, true, null);
}

该StartsWith方法有一个选项可以忽略大小写。 第三个参数是设置文化。 如果为null,它只是使用当前的文化。 使用这种方法,你可以通过你的话循环,运行检查和处理的话需要强调的是第一个字符。



Answer 5:

要在返回字符串的第一个字符,使用方法:

Word.Substring(0,1) //where word is a string


Answer 6:

您可以实现正则表达式 。 他们是非常强大的,但是当你设计你的表达它实际上将完成一项任务给你。

例如找到一个数字,字母,单词,等它是相当表现力和灵活。

他们对他们有真正伟大的教程在这里 :

这样的表达的一个例子是:

string input = "Some additional string to compare against.";
Match match = Regex.Match(input, @"\ba\w*\b", RegexOptions.IgnoreCase);

这将找到所有以“一”不管的情况下启动的项目。 你会发现即使使用Lambda和LINQ到使他们流更好。

希望帮助。



文章来源: How to check if a word starts with a given character?