正则表达式获取字符串中最后一个 space 之后的任何内容
Regex to get anything after last space in a string
我有一个字符串,里面有一堆单词,我只想要最后一个单词。这个的正则表达式是什么?
例如:
This is some sample words to work with
我只想要上面字符串中的 with
。
一个更简单的解决方案是使用 Split
方法:
string text = "This is some sample text to work with";
string last = text.Split(' ').Last();
如果您坚持使用正则表达式,那么以下内容会对您有所帮助
/[a-zA-Z]+$/
例子
Match m = Regex.Matches("This is some sample words to work with", "[a-zA-Z]+$")[0];
Console.WriteLine(m.Value);
=> with
我会使用 LastIndexOf
,应该会更好。
string text = "This is some sample words to work with";
string last = text.Substring(text.LastIndexOf(' '));
当然,如果文本有可能没有任何空格,您必须确保您没有尝试从 -1 索引中提取子字符串。
我想你正在寻找:
[\d-]+$
我猜你的需要有点晚了,但这应该有用:
将“[a-zA-Z]+$”替换为“[\S]+$”=> 将采用所有不是空格的字符。
每个原始问题(末尾没有数字)得到“with”:
[^\W]+$
Regex.Match("This is some sample words to work with", @"[^\W]+$").Value == "with"
我有一个字符串,里面有一堆单词,我只想要最后一个单词。这个的正则表达式是什么?
例如:
This is some sample words to work with
我只想要上面字符串中的 with
。
一个更简单的解决方案是使用 Split
方法:
string text = "This is some sample text to work with";
string last = text.Split(' ').Last();
如果您坚持使用正则表达式,那么以下内容会对您有所帮助
/[a-zA-Z]+$/
例子
Match m = Regex.Matches("This is some sample words to work with", "[a-zA-Z]+$")[0];
Console.WriteLine(m.Value);
=> with
我会使用 LastIndexOf
,应该会更好。
string text = "This is some sample words to work with";
string last = text.Substring(text.LastIndexOf(' '));
当然,如果文本有可能没有任何空格,您必须确保您没有尝试从 -1 索引中提取子字符串。
我想你正在寻找:
[\d-]+$
我猜你的需要有点晚了,但这应该有用:
将“[a-zA-Z]+$”替换为“[\S]+$”=> 将采用所有不是空格的字符。
每个原始问题(末尾没有数字)得到“with”:
[^\W]+$
Regex.Match("This is some sample words to work with", @"[^\W]+$").Value == "with"