【发布时间】:2013-01-04 11:58:12
【问题描述】:
昨天回答了我最初的问题,关于如何从字符串中拆分出特定字符,然后删除这两个字符之间的内容。
我谈到从这样的字符串中删除...
lg-109-1.ea-091-2.hd-180-1.hr-220-1
我没有意识到有时我想分割我的角色(在这种情况下,它是 hd 和 . 以及 hr 和 . 之间的所有内容)
但是你看到 hr 没有 . 所以它没有被删除
这是我正在使用的代码...
public static string RemoveB(string s) {
s = Regex.Replace(s, @"hr.*?\.", "");
s = Regex.Replace(s, @"hd.*?\.", "");
return s;
}
有谁知道如何检查 hr 之后是否有 .,如果没有则删除它?
【问题讨论】:
-
只需使用可选的量词
?来匹配0 或1.: -@"hr.*?\.?" -
我已经为你的问题准备了 3 次,但仍然不知道你想要什么。在
hr之后是否立即执行。你必须更具体 -
s = Regex.Replace(s, @"hr.*?[.|$]", "");