c# - C#删除一个字符之后但另一个字符之前的所有内容
问题描述
我正在处理一段动态数据,我需要删除一些但不是字符串的最后部分。
var x = "<abc><static string data> Data inside here is dynamic </abc>"
我希望能够删除字符串数据之后的所有内容,但保留</abc>
.
我可以通过这样做删除所有内容;
x = x.Substring(0, x.IndexOf("<static string data>") + 1);
但这删除了</abc>
部分,我不想手动添加</abc>
回来,因为它破坏了我试图实现的目标。
解决方案
这可以更优雅地完成,但为了演示:
var x = "<abc><static string data> Data inside here is dynamic </abc>";
var start = x.IndexOf("<static string data>") + ("<static string data>").Length;
var end = x.IndexOf("</abc>");
var newStr = x.Substring(0, start) + x.Substring(end);
Console.Writeline(newStr);
输出:
<abc><static string data></abc>
推荐阅读
- python - 熊猫数据框获取最后一个非零列的值
- internet-explorer-11 - 如何仅为 IE11 禁用内联脚本?
- android - 将变量从一个活动传递到另一个活动
- pandas - Pandas:使用来自另一个数据帧的数据过滤数据帧
- r - 给定 R 中列的条件,匹配两个数据框中的列
- tensorflow - 目前不支持 session_kwargs 中的一些键:%s', dict_keys(['learning_rate'])
- node.js - 我可以为两个或多个文件夹设置 nodejs viewengine 吗?
- javascript - 使用for循环将EventListener添加到一些标签名称 - Javascript
- mvvm - 使用基于视图的导航棱镜的复杂场景 - 区域管理器不包含“”区域
- hp-uft - UFT 未在 chrome 中录制