我想使用C#操作以下HTML结构,并将bgcolor属性移动到style属性中,如下所示,我想使用字符串操作(或任何其他合适的方法,如果适用(来实现这一点。有没有可能的方法:
当前结构
<body>
<div bgcolor="#342516" style="color: red; font-size:10px;">ABCD</div>
<div bgcolor="#342516" style="color: red; font-size:10px;">EFGH</div>
<div bgcolor="#342516" style="color: red; font-size:10px;">HIJK</div>
<div bgcolor="#342516" style="color: red; font-size:10px;">LMNO</div>
</body>
所需输出
<body>
<div style="background-color:#342516; color: red; font-size:10px;">ABCD</div>
<div style="background-color:#342516; color: red; font-size:10px;">EFGH</div>
<div style="background-color:#342516; color: red; font-size:10px;">HIJK</div>
<div style="background-color:#342516; color: red; font-size:10px;">LMNO</div>
</body>
如果你在C#中真的需要它,最简单的解决方案是string.replacement((。对于任何其他更复杂的文本,你需要正则表达式
var oldString = "<body>rn <div bgcolor="#342516" style="color: red; font-size:10px;">ABCD</div>rn <div bgcolor="#342516" style="color: red; font-size:10px;">EFGH</div>rn <div bgcolor="#342516" style="color: red; font-size:10px;">HIJK</div>rn <div bgcolor="#342516" style="color: red; font-size:10px;">LMNO</div>rn</body>";
var newString = oldString.Replace("bgcolor="#342516" style="", "style="background-color:#342516; ");
我认为你不需要编程来解决这个问题,一个文本编辑器就足够了。据我所知,VS Code和NotePad++都支持用文件夹替换文本。
替换bgcolor="342516";style=">带有style="背景颜色:#342516