c# - 使用正则表达式替换 : 和之后的任何字符
问题描述
我有以下字符串
var s1 = "Group:0.Devices.Cabins:0.Position.GroupStop:0.GroupStop";
var s2 = "Group.Devices.State:15X.GenericState";
var s3 = "Group.Devices.State.HealthState";
var s4 = "Group:1.Devices:7A.Cabins:0.Doors:0.State:0";
我需要删除:
并any char
在它之后。预期结果:
Group.Devices.Cabins.Position.GroupStop.GroupStop
Group.Devices.State.GenericState
Group.Devices.State.HealthState
Group.Devices.Cabins.Doors.State
我用过这样的东西:
Console.WriteLine(Regex.Replace(Regex.Replace(s1, @"\:.*?\.", "."), @"\:.*?$", ""));
Console.WriteLine(Regex.Replace(Regex.Replace(s2, @"\:.*?\.", "."), @"\:.*?$", ""));
Console.WriteLine(Regex.Replace(Regex.Replace(s3, @"\:.*?\.", "."), @"\:.*?$", ""));
Console.WriteLine(Regex.Replace(Regex.Replace(s4, @"\:.*?\.", "."), @"\:.*?$", ""));
它有效,但是有没有更有效的方法来做到这一点?我想将它与已编译的正则表达式一起使用。
private static Regex _regex = new Regex(@"....", RegexOptions.Compiled);
然后_regex.Replace(s1, string.Empty);
您能帮我将 2 个正则表达式合并为一个吗?先感谢您
解决方案
推荐阅读
- java - 如何检查 Glide 何时从缓存中删除图像?
- python - Python dir(function) 与 dir('function')
- kendo-tabstrip - 剑道选项卡可滚动未显示
- python - 如何使用 np.random.zipf 为给定的值范围生成随机变量?
- routing - 重写 Envoy 过滤器中的权限
- javascript - ios Safari浏览器中的自动对焦问题
- html - 如何右对齐站点范围内的特定表格列?
- c++ - 语法检查器指出一些错误我不知道为什么
- python - 数据框中显示数字的逻辑
- angular - Angular:如何在使用 routerLink 导航之前正确执行完成承诺?