我有一个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
}
作为奖励,如果你想知道你的字符串开头的东西,从列表中,并做一些基于该值:
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.
}
}
假设你正在检查的字符串类型的属性,你可以使用String.StartsWith()方法。例如: -
if(item.Title.StartsWith("A"))
{
//do whatever
}
冲洗和重复
尝试下面的下面。 您可以执行StartsWith或子0,1(第一个字母)
if (Word.Substring(0,1) == "A") {
}
你可以做这样的事情,检查是否有特定的字符。
public bool StartsWith(string value, string currentChar) {
return value.StartsWith(currentChar, true, null);
}
该StartsWith方法有一个选项可以忽略大小写。 第三个参数是设置文化。 如果为null,它只是使用当前的文化。 使用这种方法,你可以通过你的话循环,运行检查和处理的话需要强调的是第一个字符。
要在返回字符串的第一个字符,使用方法:
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);
这将找到所有以“一”不管的情况下启动的项目。 你会发现即使使用Lambda和LINQ到使他们流更好。
希望帮助。