格式化子字符串

时间:2017-12-06 15:45:24

标签: c# substring

我正在使用C#并且有一个文档名称为

的字符串
string docName = "email notification 4926-0538-5751 v.11.docx"

以下是最初形成的方式:

"Doc_Name Doc_Number v.version_Number.doc_extension"

试图找到如何从这个字符串中获取子字符串,如下所示:

string formateddocNumber = "4826-0718-5751 v.11"

我觉得我必须使用某种正则表达式。但不确定。

如果这有帮助,doc_number始终采用以下格式:

1234-1234-1234

并且始终拥有此格式的版本:

v.some_number

我无法使用docx来匹配正则表达式,因为扩展名可能是doc或txt等。

1 个答案:

答案 0 :(得分:1)

正则表达式非常简单:

string docName = "email notification 4926-0538-5751 v.11.docx";
var regex = new Regex(@"^.+ (\d{4}-\d{4}-\d{4} .+?)\.[^.]+$");
var match = regex.Match(docName);
if (match.Success)
{
    Console.WriteLine(match.Groups[1].Value);
}