string – 如何在Perl中将人的全名解析为用户名?

string – 如何在Perl中将人的全名解析为用户名?,第1张

概述我需要将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
埃尔特,约翰,四
Wods,Charles R.,III
Welkt,Craig P.,Jr.

这些特定的名称最终应该是czelleb,jeilt,cwoods,cwelkt等.

我还有一个条件毁了我的名字建设者
O’Neil,Paulso far,Vinko Vrsalovic的答案是在奇怪/腐败的名字在混合中时发挥最佳作用,但上面这个例子会出现“pneil”…如果我不能在那之间得到那个,那么我会被诅咒p和n

解决方法
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(.);}
vinko@parrot:~$perl genlogname.plczellebjeiltcwoodscwelkt
总结

以上是内存溢出为你收集整理的string – 如何在Perl中将人的全名解析为用户名?全部内容,希望文章能够帮你解决string – 如何在Perl中将人的全名解析为用户名?所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1267957.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存