以文本方式查看主题

-  Foxtable(狐表)  (http://foxtable.net/bbs/index.asp)
--  专家坐堂  (http://foxtable.net/bbs/list.asp?boardid=2)
----  如何从一段语句中筛选出姓名呢?  (http://foxtable.net/bbs/dispbbs.asp?boardid=2&id=137267)

--  作者:旭日生
--  发布时间:2019/7/2 10:28:00
--  如何从一段语句中筛选出姓名呢?
有许多文件标题中包括有人的姓名,如“关于审理王某某错误的案件“。如何利用其中的姓名中的”姓“特征,将3字姓名提取出来写出另一列呢?
--  作者:有点甜
--  发布时间:2019/7/2 10:33:00
--  

参考

 

Dim str As String = "关于审理王某某错误的案件"
Dim mc = System.Text.RegularExpressions.Regex.Matches(str, "(?<=审理).*?(?=错误)")
msgbox(mc(0).value)


--  作者:旭日生
--  发布时间:2019/7/2 11:49:00
--  
谢谢回复!
感觉这个不是最具通用性的代码。因为王某某前后,一般不会是固定的字词。因此,我的想法是:
1、从标题中找到百家姓中的”姓“,即王,或欧阳,或张之类的字。
2、读出”姓“之后的3个字。



--  作者:有点蓝
--  发布时间:2019/7/2 13:57:00
--  
这个想法本身就不合理。先不说全国人民是不是都是3个字的名称。大部分常用姓都属于常用字,而通过姓取名很容易混淆,也是不现实的。

比如:"因为田地纠纷原因...",可以认为有一个人名是“田地纠”?
比如:“因为罪犯的张扬跋扈导致....”,可以认为有一个人名是“张扬跋”?