我有这三个清单.
List<List<string>> tokens = new List<string>();
List<string> token = new List<string>();
List<string> sets = new List<string();
Run Code Online (Sandbox Code Playgroud)
token
列表中的一个完整tokens
列表.
{"<card>"",
" <name>Domri Emblem</name>",
" <set picURL="http://magiccards.info/extras/token/Gatecrash/Domri-Rade-Emblem.jpg" picURLHq="" picURLSt="">GTC</set>",
" <color></color>",
" <manacost></manacost>",
" <type>Emblem</type>",
" <pt></pt>",
" <tablerow>0</tablerow>",
" <text></text>",
" <token>1</token>",
"</card>"}
Run Code Online (Sandbox Code Playgroud)
该sets
名单是这样的.
{"ARB", ..., "AVR", ..., "GTC", ..., "ZEN"}
Run Code Online (Sandbox Code Playgroud)
我想通过每一个token
在tokens
和删除每个字符串中token
包含任何元素set
.
该tokens
列表包含一些token
元素.一个token
(比如说token1)有一个像这样的元素.
{..., " <set picURL="http://magiccards.info/extras/token/Gatecrash/Domri-Rade-Emblem.jpg" picURLHq="" picURLSt="">GTC</set>", ...}
Run Code Online (Sandbox Code Playgroud)
另一个token
(比如说令牌2)有这两个元素.
{..., " <set picURL="http://magiccards.info/extras/token/magic-2012/pentavite.jpg" picURLHq="" picURLSt="">M12</set>",
" <set picURL="http://magiccards.info/extras/token/player-rewards-2004/pentavite.jpg" picURLHq="" picURLSt="">MI</set>", ...}
Run Code Online (Sandbox Code Playgroud)
假设sets
列表被修改为仅包含{"ARB", "GTC", "M12"}
.
我怎么会去通过每一个token
中tokens
并删除含有任何字符串元素的字符串元素sets
?那么,在那个过程之后,token1上面没有那个元素,而token2只会有第二个呈现的元素?
这将遍历每个token
in tokens
并删除token
包含该字符串的任何元素"GTC"
.
foreach (var token in tokens)
{
token.RemoveAll(str => str.Contains("GTC"));
}
Run Code Online (Sandbox Code Playgroud)
我查看了其他一些问题但发现了这个问题,但它不起作用.
foreach (var token in tokens)
{
token.RemoveAll(sets.Contains);
}
Run Code Online (Sandbox Code Playgroud)
谢谢您的帮助.
foreach (var token in tokens)
{
token.RemoveAll(str => sets.Any(s => str.Contains(s)));
}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
8630 次 |
最近记录: |