C# 字符串拆分 - 无结束分隔符

标签 c# regex string split

我最初的问题昨天得到了回答,关于如何从字符串中拆分出特定字符,然后删除这两个字符之间的内容。

我谈到了从这样的字符串中删除...

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 之后是否有 .,如果没有则删除它?

最佳答案

你可以做到

Regex.Replace(s, @"(hr|hd).*?(\.|$)", "");

$ 表示字符串结束

关于C# 字符串拆分 - 无结束分隔符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14156777/

相关文章:

c# - 使用 mono 中的 freepascal 库 (.dylib)

c# - 模型无效时不显示 MVC 客户端验证摘要

c# - 来自外部项目的引用接口(interface)

c - 找到给定输入和目标字符串所需的最少转换次数

java - 我如何用IP和端口来划分字符串?

Java 静态字符串或静态 StringBuilder

c# - 自动属性初始化器不起作用?

java - 正则表达式未从所有字段中获取正确的值

python - 正则表达式匹配字符串中任意数量的标记

regex - Perl:我们如何检查哪个字符串是另一个字符串的子字符串?