gpt4 book ai didi

c# - 如果列表中包含特定文本,则从列表中删除该元素

转载 作者:太空狗 更新时间:2023-10-30 00:19:14 25 4
gpt4 key购买 nike

我有一个 C# 方法,在该方法中,我在列表中查找某些文本,比如 username,其中元素的格式为 username + datetime ,如果文本的任何部分与列表中的元素,则必须从列表中删除整个元素

添加到c# List的方法

string active_user = model.UserName.ToString();
string datetime = "(" + DateTime.Now + ")";
List<string> activeUsers = new List<string>();

if (activeUsers.Any(str => str.Contains(active_user)))
{
//do nothing
}
else
{
activeUsers.Add(active_user+datetime);
}

现在我想要一个删除元素的方法,如果它匹配用户名或元素的任何部分,比如

if (activeUsers.Contains(active_user))
{
activeUsers.Remove(active_user);
}

最佳答案

虽然其他答案是正确的,但您应该注意它们会删除任何匹配项。例如,active_user = "John" 将删除“John”、“John123”、“OtherJohn”等。

你可以使用正则表达式来测试,或者如果用户名没有括号,你可以这样测试:

string comp = active_user + "(";     // The ( is the start of the date part
activeUsers.RemoveAll(u => u.StartsWith(comp));

另请注意,这是区分大小写的。

关于c# - 如果列表中包含特定文本,则从列表中删除该元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23570452/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com