如何检查一个单词是否以给定字符开头

本文关键字:是否 开头 字符 单词 何检查 检查 一个 | 更新日期: 2023-09-27 18:05:09

我有一个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;
}

如何检查一个单词是否以给定字符开头?

如何检查一个单词是否以给定字符开头

检查一个值,使用:

    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
    }

AND作为奖励,如果你想知道你的字符串从列表开始,并基于该值做一些事情:

    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.
        }
    }

您可以这样做来检查一个特定的字符。

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

StartsWith方法有一个忽略大小写的选项。第三个参数用于设置区域性。如果为空,则只使用当前区域性。使用此方法,您可以遍历单词,运行检查并处理单词,以根据需要突出显示第一个字符。

假设您要检查的属性是字符串类型,您可以使用string . startswith()方法。例如:-

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

冲洗并重复

尝试下面的操作。你可以使用StartsWith或Substring 0,1(首字母)

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

您可以简单地检查第一个字符:

string word = "AWord"
if (word[0] == 'A')
{
    // do something
}

请记住字符比较比字符串比较更有效。

返回字符串中的第一个字符,使用:

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

你可以实现正则表达式。它们非常强大,但是当你设计你的表达式时,它实际上会为你完成一个任务。

例如查找数字、字母、单词等,它非常富有表现力和灵活性。

他们在这里有一个非常好的教程:

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

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

无论如何都能找到所有以"a"开头的项。你甚至会发现使用Lambda和Linq可以使它们更好地流动。