c# - 正则表达式仅选择具有一致标题的字符串中的最后一个单词
问题描述
我正在解析电子邮件的文本正文,并正在寻找一个表达式的帮助,该表达式将针对标题后面的字符串的最后一个单词。标题将始终是成员名称:但其后的字符串可能会有所不同。我想忽略除最后一个词之外的所有内容,这将是名字。
例如:
成员名称:JAMES,MAJ LABRON 将针对 LABRON 成员名称:BARKLEY,CHARLES 将针对 CHARLES 成员名称:JORDAN,1ST LT MICHAEL 将针对 MICHAEL
解决方案
正则表达式解决方案:
var str = "JAMES, MAJ LABRON";
var rgx = new Regex(@"^.+ (\w+)$");
Console.WriteLine(rgx.IsMatch(str));
解释:
^ - 字符串开始
.+ - 一个或多个字符
\w+ - 匹配单个单词
笔记:
使用()
around\w+
将对匹配的单词进行分组,以防您稍后需要在 C# 中使用它。
如果您想要一个非正则表达式解决方案,您可以简单地string.Split()
获取字符串并获取最后一个单词。
var last = str.Split(' ').Last();
推荐阅读
- r - R pheatmap 比例与 pheatmap 之前的比例不同
- javascript - 我需要帮助访问对象内部的信息
- r - 如何绘制每行一行的整个缩放数据集?
- spyder - Spyder - 在变量资源管理器中显示调用堆栈
- python - 通过比较两个不同形状的 Numpy 数组的值来计算掩码
- image - matlab中的并行循环和图像处理
- python - 从数组和列表创建熊猫系列
- java - 在 JDBC 中关闭 ResultSet 后的内存/堆状态
- javascript - k-means 聚类算法收敛但不是使用 javascript 的稳定收敛
- controller - 如何通过控制器和路由类使用节点 js 进行 crud 操作