c++ regex 替换汉字_汉字变拼音

快下班时,同事兴冲冲的跑过来,说江湖救急,帮个忙,给我提供了一份名单,如图,要把单位同事后面列全部加上邮箱,邮箱的前缀为每个人姓名的拼音,十来条数据的话好说,直接输入拼音@公司域名就OK了,但几百条、几千条的话一个个输入可就麻烦了。下面给大家介绍一个快捷方法,几百几千条以上的数据,分分钟就可以搞定啦。

如图:

6ab11e6a73b79fce90cfd40714df0f7a.png

解决方法

1、 先认识一个函数,getpy()

Getpy只有一个参数,就是填入需要转换拼音的单元格即可

如果A2单元格中为马小云,在B2单元格中输入=getpy(A2),回车,应该变成ma xiao yun了,但事实不是这样子的,excel中并没有内置这个函数,需要自定义。

2、 自定义方法:

首先在需要将汉字变拼音的表格里面,按组合键ALT+F11键,进入Visual Basic编辑状态。执行“插入→模块”命令,插入一个新模块。再双击插入的模块,进入模块代码编辑状态;

cfeca308df53ab7b256bacc63fb68133.gif

把下面的附件代码内容复制,粘贴到模块中的空白处

代码下载地址:

https://pan.baidu.com/s/1vlG0_O7YIHuuq0hympOqCg

提取码:5781

鼠标点击右上角“X”或者按下ALT+Q关闭Visual Basic编辑窗口,返回Excel编辑状态,至此getpy()函数自定义完成。

3、 需要转换拼音的在B列,先在一空白列中,输入=getpy(B2)后敲回车(这里的B2是指B2单元格),鼠标放在如图中的D2单元格右下角,鼠标指针变为十字形,双击即可自动向下填充。

69fb9a4578c1b69f3ed9785b01cdd2fe.gif

4、 目前通过getpy()转换出来的拼音是有空格的,还不符合我们的要求,此时可用SUBSTITUTE()函数【substitute主要用来对指定字符串进行替换,下节课我们重点讲此函数用法】将空格去除。

在刚才的D列右边新建一列,如果要去除拼音之间的空格。去掉空格的拼音放在E列,如果这个未去掉空格的数据原来在D2单元格,去掉空格之后的拼音放在E2单元格,则在E2单元格输入:=SUBSTITUTE(D2," ","") 注意第一个双引号之间留有一个空格。

65b38288ead066508dbff236d53f23da.gif

5、 到这一步基本上大功告成了,因为需要每个人名字后面加公司邮箱域名,我们再新建一列,全部填充为@ourqiye.com (域名根据实际需要填写),如果在填充时出现异常提示,需先将此列单元格设为文本格式。

eb0a64da91f57ea2eeba78b7a4987c10.gif

6、 最后一步,新建列,将去掉空格后的E列和带域名的辅助列合并即可。在新开列单元格中输入=E2&F2 回车(&为合并的意思),向下填充。

b525dfe72acac52bfc5a601ad6eb2a2d.gif

7、 复制合并后的列,粘贴在C列,注意应粘贴为值。

367dfc8c6f9a95a19f4d696bbf3629d1.gif

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值