好久没有写博客了,这几年的开发让我感受良多,同时我也感觉到了我自己成长的还不够。所以,以后这里将会有我个人所有的项目经验总结,以及项目中使用到的一些方便的小工具也会写出来。

目录

前言

一、获取所有拼音为某个拼音的汉字。

二、拿到所有项目中的代码,并拷贝在同一份TXT文件当中

三、将连续的字符串改成一个字单独一行

总结



前言

随着项目的开发,项目上线审核的时候,最麻烦的一项:就是屏蔽词的审核,在这里我建议大家,如果项目中有修改昵称或者屏蔽非法文字的需求的话,一定要弄一个屏蔽词库,最好放在客户端。这个屏蔽词库里面要全部小写,然后玩家在修改昵称的时候,把大写转成小写。然后再进行屏蔽词对比。有时候,审核人员会有各种各样奇怪的需求。比如:所有拼音是wei或者是xin的汉字都不能出现。还有一些会让你给出所有的项目代码或者项目中的文字。我都遇到过,接下里给大家介绍我是怎么解决这些情况的


一、获取所有拼音为某个拼音的汉字。

这种情况是真的还好,但也着实EX。比如:所有拼音是wei和拼音是xin的汉字都不能出现(在不考虑声调的情况下)。这个难点有几个:

  1. 我怎么知道某个汉字的拼音是什么?
  2. 我怎么拿到所有的汉字

这里我推荐大家使用python来完成这项工程。

首先,需要大家先加载python中的拼音库,因为需要用这个来获取当前汉字的拼音

可以在在命令提示符中输入如下代码

pip install xpinyin

然后回车,等待安装完毕。然后打开自己的编辑工具。下出以下代码,然后执行就可以获取到所有拼音是该拼音的汉字。代码如下:

from xpinyin import Pinyin
p = Pinyin()
def pinyin(word):# 转换,不显示声调,使用空格作为分隔符。ret = p.get_pinyin(word,tone_marks=None,splitter=' ')print(ret)all_chiness = ""
for i in range(0x4e00,0x9fa6):str = chr(i)ret = p.get_pinyin(str,tone_marks=None,splitter=' ')if ret == "wei" :all_chiness += strprint(all_chiness)

执行结果如下:

这样子我们就获取到了所有的拼音是wei的汉字,还不包括声调的。如果想要知道详细的xpinyin的用法。大家可以参考这个:

点击这里前往学习

二、将项目中所有的代码,拷贝在同一份TXT文件当中

这是要求你必须得把所有项目的代码拷贝到一个TXT文件中。二话不说,直接上代码

import osclass CopyScriptToTxt:def CopyFile(self,srcPath,destPath):src = open(srcPath,"r",encoding='UTF-8');dest = open(destPath,"a",encoding='UTF-8');for line in src:dest.write(line);dest.write('\n');src.close();dest.close();tempCopy = CopyScriptToTxt();
# 项目代码所在总目录
g = os.walk(r"C:\Program Files\Games\FPS\Scripts")
# 目标文件,最好先创建好
setDestPath = r"C:\Users\Administrator\Desktop\temp.txt"for path,dir_list,file_list in g:for file_name in file_list:filePath = os.path.join(path, file_name)print(filePath)tempCopy.CopyFile(filePath, setDestPath);

到此,执行该脚本,然后打开桌面上的temp文件,你就发现你所有的代码都在这里了。

三、将连续的字符串改成一个字单独一行

这里就要用到正则表达式了,就是匹配出所有的中文汉字。这里的难点并不是匹配汉字,而是怎么把匹配到的汉字分开。

这次我并没有用到Python,而是用到了Lua。

首先介绍以这个string.gmatch(全局模式)这个方法:创建并返回一个迭代器,可用于for语句中迭代的进行全局查找。迭代器每执行一次返回一个找到的字符串,如果在模式串中用圆括号指定的匹配分组,则返回值有多个分别对应各个匹配分组的捕获结果。分组可以相互嵌套,捕获结果返的顺序对应模式串中匹配分组的左圆括号出现的前后顺序。如果你希望第一个返回值是匹配结果的完整字符串,那么请将整个模式串包含在一对圆括号内。

接下来上代码:

local txt = ""
-- 这个str就是第一个获得的所有拼音为wei的汉字
local str = "微危委威巍薇偎蜲揻詴溦隈燰鰄崴縅揋覣楲隇喴煨鰃媙癓嶶葳愄蝛倭椳逶厃烓霺癐鳂嵔葨围唯维违为桅洈蓶壝溈違峞潿鍏帷爲隹撝矀鮠囲沩圩湋峗潙醀帏為闱惟琟韦囗欈維圍涠覹媁潍鄬嵬濰闈幃犩韋喡硙尾伪委伟纬萎苇偉愇玮葦骪儰撱痏薳鲔娓梶碨踓浘韑嵔瀢芛韪徫猥骩僞捼瓗蔿鮪暐硊诿寪洧緯隗崣濻艉韡廆煒荱颹偽捤瑋蒍骫唩斖痿諉媁椲磈鍡屗渨腲韙亹嶉炜頠未卫喂遗位味慰胃为畏谓猬魏蔚尉罻軎煟菋蘶鏏犚螱餵瓗褽鮇媦硙讏懀緭躛為苿藯爲蝟餧衞墛瞆讆磑躗渭轊熭蜼霨叞猚衛饖喡謂鳚新欣薪心辛锌芯俽盺妡邤惞鑫杺馫炘噺莘廞忻鋅昕馨歆噷嬜訢忄鈊枔鐔襑礥镡伈信衅芯脪釁伩馸孞焮軐顖囟憖舋訫阠愖"
for k, v in string.gmatch(str, "[%z\1-\127\194-\244][\128-\191]*") dotxt = txt.."\n"..k
end
print(txt)

点击这里可以在线测试代码

总结

以上这些,都是作者在项目审核中遇到的情况,各有各的不同,各有各的操作。最后,希望审核人员、渠道客服以及技术人员不要天天五点钟下班吧!

Python实现获得所有拼音为某个拼音的所有汉字相关推荐

  1. 编辑python用什么输入法_用Python从0开始实现一个中文拼音输入法!

    众所周知,中文输入法是一个历史悠久的问题,但也实在是个繁琐的活,不知道这是不是网上很少有人分享中文拼音输入法的原因,接着这次NLP Project的机会,我觉得实现一发中文拼音输入法,看看水有多深,结 ...

  2. 【Python】pinyin模块将中文转为拼音

    [Python]pinyin模块将中文转为拼音 示例代码 示例代码 可以看到数据不是很规范,城市名称既有中文又有英文,而且上海被存储为ShangHai和Shanghai. 对于上海的问题,我们将拼音全 ...

  3. python自定义拼音输入法_用Python从0开始实现一个中文拼音输入法

    众所周知,中文输入法是一个历史悠久的问题,但也实在是个繁琐的活,不知道这是不是网上很少有人分享中文拼音输入法的原因,接着这次NLP Project的机会,我觉得实现一发中文拼音输入法,看看水有多深,结 ...

  4. java 汉字转拼音_推荐一款前端汉字转拼音组件工具

    推荐一个前端的汉字转拼音组件 hotoo/pinyin, 支持在 Node 和 Web 浏览器环境运行. github网址:https://github.com/hotoo/pinyin 特性 根据词 ...

  5. oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等)

    oracle汉字转拼音(获得全拼/拼音首字母/拼音截取等) oracle 字符集 GBK 没有问题 , UTF -8 需要修改一下 1.获得全拼 SELECT GETHZPY.GETHZFULLPY( ...

  6. iOS汉语转拼音以及按照拼音排序

    在iOS中汉语转拼音可以使用系统提供的方法,也可以使用第三方库来实现,但是网上说使用系统方法实现的话性能会比较差,此处只是提供方法,至于选择使用哪种方法,自己看情况而定. 1.系统方法 主要使用到了方 ...

  7. JS实现获取汉字首字母拼音、全拼音及混拼音的方法

    本文实例讲述了JS实现获取汉字首字母拼音.全拼音及混拼音的方法.分享给大家供大家参考,具体如下: 这里需要用到一个js获取汉字拼音的插件,可点击此处本站下载. 运行效果如下: 完整示例代码: ? 1 ...

  8. Java获取名字首字母拼音并按名字拼音分组工具类

    1. maven <dependency><groupId>com.belerweb</groupId><artifactId>pinyin4j< ...

  9. PHP利用ICU扩展intl快速实现汉字转拼音以及按拼音首字母分组排序

    ICU(International Components for Unicode)里提供了transliterator(直译器), 可以很方便把其他语言(比如简体中文)转为拉丁文表示: http:// ...

  10. python中怎么替换字母_python去除拼音声调字母,替换为字母的方法

    第一种方法 import sys import unicodedata s = "Lǐ Zhōu Wú" remap = { # ord返回ascii值 ord('\t'): '' ...

最新文章

  1. MongoDB基本命令总结
  2. Solaris下怎样改动文件创建时间及查询
  3. stm32端口复用和重映射
  4. 狼真来了!黑客利用SS7漏洞将网银用户洗劫一空
  5. 利用装饰器实现mock和api的局部分离切换
  6. python工资一般多少p-Python是什么?简单了解pythonp-入门
  7. 聊聊 Java 中 HashMap 初始化的另一种方式
  8. PYTHON之计算机语言基础知识 —— 字符编码
  9. On Robust Capon Beamforming and Diagonal Loading
  10. 芯科技之AD7705介绍
  11. matlab皮肤色号检测,彩色图像中的人脸(肤色)检测
  12. 安装R包报错 [tcl] grab failed: window not viewable.的解决方案
  13. 被小伙伴要出来的文章[0]:英语学习
  14. JWT 生成Token、解析Token的简单工具类
  15. 毕业设计之 --- 基于java web的物流信息网的设计与实现
  16. 计算机软著进行转让的步骤
  17. 【计算机毕业设计】美容美发微信小程序的设计与实现
  18. Python_pygame库学习笔记(1):pygame的由来,特点以及模块简介
  19. iphone导出视频 无法连接到设备_iPhone 如何将原始照片导出备份到电脑?
  20. 科普:互联网的盈利模式

热门文章

  1. 4568: [Scoi2016]幸运数字
  2. java excel多选_POI生成可多选下拉框excel
  3. 您的主机不满足在启用 Hyper-V 或 Device/Credential Guard 的情况下运行 VMware Workstation 的最低要求
  4. echarts饼图显示百分比
  5. 《老路用得上的商学课26—30》经济模式
  6. matlab 有限元法,基于Matlab语言的有限元法及其应用
  7. excel快速选择数据的4种方法
  8. 二/三维空间曲面的切平面以及在某一点上的切线,法线
  9. git官网下载比较慢的解决方法
  10. ModelArts解压OBS上压缩包