我想检查字符串是否包含列表中的单词或数字,并将其从字符串中删除。
我想对找到的多个匹配项执行此操作。
句子读
这是01 02 03(01)(02)(03)no01 no02 no03测试
我需要Regex.Replace
删除只有充分01
,02
,03
,内部没有换言之的人。
这是(01)(02)(03)no01 no02 no03测试
但它只会删除所有位置中匹配项列表中最后一项03的出现。
这是01 02(01)(02)()no01 no02没有测试
http://rextester.com/BCEXTJ37204
C#
List<string> filters = new List<string>();
List<string> matches = new List<string>();
string sentence = "This is a 01 02 03 (01) (02) (03) no01 no02 no03 test";
string newSentence = string.Empty;
// Create Filters List
for (int i = 0; i < 101; i++)
{
filters.Add(string.Format("{0:00}", i)); // 01-100
}
// Find Matches
for (int i = 0; i < filters.Count; i++)
{
// Add to Matches List
if (sentence.Contains(filters[i]))
{
matches.Add(filters[i]); // will be 01, 02, 03
}
}
// Filter Sentence
for (int i = 0; i < matches.Count; i++)
{
newSentence = Regex.Replace(sentence, matches[i], "", RegexOptions.IgnoreCase);
}
// Display New Sentence
Console.WriteLine(newSentence);
我尝试进行更改string.Format()以@"\b{0:00}\b"匹配整个单词,但这是行不通的。
慕田峪4524236
相关分类