匹配字符串中最后一个点之后的字符

时间:2019-08-01 12:27:50

标签: c# regex

我有一个字符串,我想获得字符串中最后一个点之后的单词。

示例:

b

结果:

input string = "XimEngine.DynamicGui.PickKind.DropDown";

3 个答案:

答案 0 :(得分:2)

不是RegEx答案,但是您可以这样做:

var result = input.Split('.').Last();

答案 1 :(得分:1)

Regex中没有必要,让我们找出最后一个.并获取Substring

 string result = input.Substring(input.LastIndexOf('.') + 1);

如果input没有.,则会返回整个input

答案 2 :(得分:0)

在Regex中,您可以通过指定选项RightToLeft告诉解析器从字符串/缓冲区的末尾开始工作。

通过使用该代码,我们可以仅指定一个正向模式以找到一个句点(\.),然后捕获(使用( ))我们感兴趣的文本到第1组((\w+)) 。

var str = "XimEngine.DynamicGui.PickKind.DropDown";
Console.WriteLine(Regex.Match(str, 
                              @"\.(\w+)", 
                              RegexOptions.RightToLeft).Groups[1].Value);

输出到控制台:

DropDown

通过从字符串的另一端开始工作,我们无需在字符串的开头到需要提取文本的地方处理任何东西。