Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/18.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 把所有东西都带到最后一个“左边”&引用;串_C#_Regex - Fatal编程技术网

C# 把所有东西都带到最后一个“左边”&引用;串

C# 把所有东西都带到最后一个“左边”&引用;串,c#,regex,C#,Regex,我有一个字符串,其中有多个“.”。我正在尝试捕获最后一个“左侧的所有内容”。我尝试了这种语法(因为我要捕获的字符总是6个) 但这将返回我想要的6个字符以及扩展名。文件名的示例如下 The.Red.The.Blue.The.Green.Notification.Paper.R23B22.docx 在我的代码片段中,代码返回R23B22.docx我只想返回R23B22 如何更改此代码以返回所需结果?只需使用String.Split(): 只需使用String.Split(): 你可以用 /([^.

我有一个字符串,其中有多个“.”。我正在尝试捕获最后一个“左侧的所有内容”。我尝试了这种语法(因为我要捕获的字符总是6个)

但这将返回我想要的6个字符以及扩展名。文件名的示例如下

The.Red.The.Blue.The.Green.Notification.Paper.R23B22.docx
在我的代码片段中,代码返回
R23B22.docx
我只想返回
R23B22


如何更改此代码以返回所需结果?

只需使用
String.Split()


只需使用
String.Split()

你可以用

/([^.]+)\.[^.]+$/
您可以使用

/([^.]+)\.[^.]+$/

您忘记指定需要多少字符:

var result = filename.Substring(filename.LastIndexOf('.') - 6, 6);

演示:

您忘记指定需要的字符数:

var result = filename.Substring(filename.LastIndexOf('.') - 6, 6);
演示:

试试这个:

var filename = "The.Red.The.Blue.The.Green.Notification.Paper.R23B22.docx";
var result = filename.Substring(filename.LastIndexOf('.')-6);

int index = result.IndexOf(".",StringComparison.InvariantCulture);
if (index > 0)
{
   result = result.Substring(0, index); // result = R23B22
}
试试这个:

var filename = "The.Red.The.Blue.The.Green.Notification.Paper.R23B22.docx";
var result = filename.Substring(filename.LastIndexOf('.')-6);

int index = result.IndexOf(".",StringComparison.InvariantCulture);
if (index > 0)
{
   result = result.Substring(0, index); // result = R23B22
}
另一个:

移除最后一块,然后按
分割,然后取出最后一块。

string output = filename.Substring(0, input.LastIndexOf(".")).Split('.').LastOrDefault();

另一个:

移除最后一块,然后按
分割,然后取出最后一块。

string output = filename.Substring(0, input.LastIndexOf(".")).Split('.').LastOrDefault();


就是这样!使用
String.Split()
而不是
Substring()
是个人的偏好,还是这只是使用C#做的“更好”的事情?这对我来说很自然@Mitchmahoneyth做到了!使用
String.Split()
而不是
Substring()
是个人的偏好,还是这只是使用C#做的“更好”的事情?我觉得这很自然@MitchMahoney