正则表达式。删除短划线。

时间:2016-09-30 21:52:29

标签: c# regex

我有很多名字。该软件将它们命名为真的很长,并且没有办法覆盖它。我想知道我需要的文件名。我一直在使用正则表达式,因为它感觉它应该只能得到字符串的这一部分。任何帮助都会很棒我花了一天没有运气。

这是输出。

UCM - S - 正在加载1H_lester.virata.sfw811 - 表 - 1H-S11-00 - 01级基金会计划

UCM - S - 正在加载1H_lester.virata.sfw811 - Sheet - 1H-S11-00A - LEVEL 01 REINFORCEMENT PLAN

UCM - S - 正在加载1H_lester.virata.sfw811 - 表 - 1H-S11-01A - LEVEL 02屋顶加固计划

我想回复: 1HS1100 1HS1100A 1HS1101A

2 个答案:

答案 0 :(得分:0)

您可以使用\w+-[\w-]+example)捕获带连字符的字符串,然后使用substitute / replace命令处理它们,以'-'替换''

答案 1 :(得分:0)

<强>“^ [^ \ d] +(\ d \ w)的_ \ W + \ W +(\ W +)[^ \ d] +(\ W +) - (\ W +) - (\ W + )[^ \ d] +(\ d +)“

只需组合上述正则表达式中的所有匹配项,即可。