我有一个字符串值列表,其中一些值包含前面的xxx或XXX.
xxxRed
xxxYellow
xxxxCareful with that axe Eugene!
xxxxxxdedicum aceasta frumoasa Melodia
xxxxLeaders
xxxxWorking Around - titles
XXXXXNothing To Fear
xxxxAvoiding standards
xxxFirst Aid
List<string> lstTitles = new List<string>();
Run Code Online (Sandbox Code Playgroud)
这就是我尝试过的
for (int i=0; i < lstTitles.Count; i++)
{
string title = lstTitles[i].ToLower().Trim();
if (title[0] == 'x')
{
lstTitles.Remove(lstTitles[i]);
}
}
Run Code Online (Sandbox Code Playgroud)
我遇到的问题是只删除了一些值但不是全部.
是否有更好的方法来消除这些价值观?
I4V*_*I4V 10
使用RemoveAll方法
lstTitles.RemoveAll(s => s[0] == 'x' || s[0] == 'X');
Run Code Online (Sandbox Code Playgroud)
并且您可能想要使用StartsWith而不是比较第一个char.
lstTitles.RemoveAll(s => s.StartsWith("x",StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)