c# - 从列表中删除特定的字符串值

标签 c# list

我有一个字符串值列表,其中一些值前面包含 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>();

这是我试过的

for (int i=0; i < lstTitles.Count; i++)
            {
                string title = lstTitles[i].ToLower().Trim();
                if (title[0] == 'x')
                {
                    lstTitles.Remove(lstTitles[i]);

                }
            }

我遇到的问题是只有部分值被删除,但不是全部。

是否有更好的方法来删除这些值?

最佳答案

使用RemoveAll方法

lstTitles.RemoveAll(s => s[0] == 'x' || s[0] == 'X');

您可能希望使用 StartsWith 而不是比较第一个字符。

lstTitles.RemoveAll(s => s.StartsWith("x",StringComparison.InvariantCultureIgnoreCase));

关于c# - 从列表中删除特定的字符串值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16960618/

相关文章:

c# - 创建模拟时如何组合两个接口(interface)?

c# - 以编程方式将 JSON Web API 绑定(bind)到 MySQL 数据库 - 有现有的解决方案吗?

c# - 单个模块化组件应该与其他组件一起工作(组件=模块)

c# - 包含非 null 元素的列表最终包含 null。同步问题?

python - 广义代码中某些列的一阶差分

Python 优化 : Choosing between dictionary or list of list

c# - 允许在 .ASCX 控件完成加载之前显示 .ASPX 页面吗?

c# - 在 Microsoft 测试管理器中执行时 Selenium 测试用例超时

python - 比较 Python 中不同数量的列表

html - 将 html 链接的可点击区域扩展到包含其他内容的包装 li 元素的大小