首页 > 解决方案 > 替换部分字符串 C#

问题描述

我有一系列看起来像“WORD1:JUNK1 WORD2:JUNK2”的字符串,我想从字符串中删除垃圾,同时保留单词之间的字符数(包括那些被垃圾占用的字符)。

到目前为止,我一直在使用正则表达式,(word|word|word)(.\*)(word|word|word)(.*)但我不知道如何以这种方式维护格式。

已编辑

抱歉,您是对的,WORD1/WORD2 和 JUNK1/JUNK2 是我所看到的实际值的变量。它的所有字母数字字符和斜杠。

输入示例:

“类别:(4 个空格)侧面(3 个空格)创建日期:(3 个空格)03/12/16”

“产品:(6 个空格)胡萝卜(4 个空格)删除日期:(4 个空格)05/11/17”

输出示例:

“类别:(12 个空格)创建日期:(11 个空格)”

“产品:(17 个空格)删除日期:(12 个空格”

我正在尝试用空格替换单词“SIDES”和“03/12/16”。相反,我希望 CATEGORY 和 DATE CREATED 之间的字符数保持不变并且都是空格。

标签: c#regexstring

解决方案


我相信有人会使用正则表达式给你一个干净利落的答案,但这是一个快速的解决方案:

string msg = "this is a silly test message";
string[] junk = new string[] { "silly", "message" };

foreach(string j in junk)
{
    msg = Regex.Replace(msg, j, string.Empty.PadRight(j.Length));
}

推荐阅读