string – 如何在Perl中将人的全名解析为用户名?
发布时间:2020-12-15 23:29:31 所属栏目:大数据 来源:网络整理
导读:我需要将Parisi,Kenneth格式的名称转换为kparisi格式. 有谁知道如何在Perl中这样做? 以下是一些异常的示例数据: Zelleb,Charles F.,IV 埃尔特,约翰,四 Wods,Charles R.,III Welkt,Craig P.,Jr. 这些特定的名称最终应该是czelleb,jeilt,cwoods,cwelkt等. 我
我需要将Parisi,Kenneth格式的名称转换为kparisi格式.
有谁知道如何在Perl中这样做? 以下是一些异常的示例数据: Zelleb,Charles F.,IV 这些特定的名称最终应该是czelleb,jeilt,cwoods,cwelkt等. 我还有一个条件毁了我的名字建设者 解决方法vinko@parrot:~$cat genlogname.pl use strict; use warnings; my @list; push @list,"Zelleb,IV"; push @list,"Eilt,John,"Woods,III"; push @list,"Welkt,Jr."; for my $name (@list) { print gen_logname($name)."n"; } sub gen_logname { my $n = shift; #Filter out unneeded characters $n =~ s/['-]//g; #This regex will grab the lastname a comma,optionally a space (the #optional space is my addition) and the first char of the name,#which seems to satisfy your condition $n =~ m/(w+),?(.)/; return lc($2.$1); } vinko@parrot:~$perl genlogname.pl czelleb jeilt cwoods cwelkt (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |