查找unity工程代码中中文字符
游戏本地化的时候可能需要搜索工程代码中的中文字符。
这个可以通过加载文件一行一行读取后,通过正则来查询。
下面的代码LoadFile函数通过流加载文件,FindFile通过递归病使用DirectoryInfo类和FileInfo类读取子目录和文件,并通过正则匹配出中文字符。
使用时需要引用
using System.Text.RegularExpressions;
using System.IO;
<span style="white-space:pre"> </span>public static ArrayList infoall;public static List<string> FileNames = new List<string>(); [MenuItem("Localization/Check Porject Chinese File")]public static void CheckChinese(){FileNames.Clear ();string dir = Application.dataPath + "/Scripts";FindFile(dir);Debug.Log ("包含中文的文件共" + FileNames.Count + "个");for(int i = 0; i < FileNames.Count; i++){Debug.Log ("包含中文的文件" + i +" " + FileNames[i]);}}public static ArrayList LoadFile(string path,string name){//使用流的形式读取StreamReader sr =null;try{sr = File.OpenText(path+"//"+ name);}catch(Exception e){//路径与名称未找到文件则直接返回空return null;}string line;ArrayList arrlist = new ArrayList();while ((line = sr.ReadLine()) != null){//一行一行的读取//将每一行的内容存入数组链表容器中arrlist.Add(line);}//关闭流sr.Close();//销毁流sr.Dispose();//将数组链表容器返回return arrlist;} public static void FindFile(string dirPath) //参数dirPath为指定的目录{//在指定目录及子目录下查找文件,在listBox1中列出子目录及文件DirectoryInfo Dir=new DirectoryInfo(dirPath);foreach(DirectoryInfo d in Dir.GetDirectories())//查找子目录{FindFile(d.FullName);}foreach(FileInfo f in Dir.GetFiles("*.cs")) //查找文件{bool haveChinese = false;infoall = LoadFile(Dir.ToString(),f.Name);Regex rxChinaCharacter = new Regex ("[\u4e00-\u9fa5]+"); //正则匹配中文字符for(int i = 0 ;i < infoall.Count;i++){MatchCollection matches = rxChinaCharacter.Matches(infoall[i].ToString());if (matches.Count > 0){haveChinese = true;Debug.Log("文件名:"+f.FullName + " 行号:"+ i + " 内容" + infoall[i].ToString());}}if(haveChinese)FileNames.Add(f.FullName);}}
查找unity工程代码中中文字符相关推荐
- python_1.统计字符串中,中文字符,英文字符、数字、空格和其他字符的个数?
小题内容: 用户从键盘输入一行字符,统计并输出其中文字符,英文字符.数字.空格和其他字符的个数? """日期:20/8/26题目:统计不同字符的个数内容:用户从键盘输入一 ...
- Python中中文字符也算单个字符
1 致谢 感谢嵩天老师.黄天羽老师和礼欣老师的讲授 十分生动形象 令我受益匪浅 链接如下: http://www.icourse163.org/learn/BIT-268001?tid=1002235 ...
- SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码;
SpringMVC项目中中文字符乱码问题及解决办法总结(非专业最优解决办法) -- ajax传值乱码; request.getParameter()乱码; 参考文章: (1)SpringMVC项目中中 ...
- Unity 在代码中 动态改变RectTransform位置及宽高 的方法整理
原文链接(尊重原著):[100个 Unity实用技能] | Unity 在代码中 动态改变RectTransform位置及宽高 的方法整理_unity 修改recttransform_呆呆敲代码的小Y ...
- calltreetest中文_calltree查看工程代码中的函数调用关系
今天使用了calltree这个源码函数关系查看工具,结果很直观,但安装过程有点点繁琐,现将其安装过程记录下来,免得以后忘了. 当我们查一个比较大的项目的代码时,往往函数间的关系比较复杂,如果直接看源码 ...
- Unity工程代码规范检测工具
分享一个之前开发的一个Unity工程的代码检测工具,先说一下特性: 1.工程必须要建立git仓库 2.会创建pre-commit,因此如果本身有钩子要先备份,然后初始化后整合precommit文件 3 ...
- unity 在代码中创建spine动画组件
项目中用到了spine动画,使用Assetbundle打包后,在手机上运行会出现丢材质的情况.如果不进行打包,直接放到Resources目录下是可以正常加载的,但是,这样包就会很大,而且也不能进行热更 ...
- 查找linux所有目录中包含字符,Linux查找目录下包含有某字符串的全部文件
linux系统中,若是你想在当前目录下查找全部包含"phpernote"字符串的文件,能够这样输入命令:html grep -rn "phpernote" *j ...
- Unity 在代码中利用Mesh实时生成圆环/空心圆柱
本篇文章主要介绍了利用Unity中的mesh 实时生成圆环的过程以及思想,我会在开头直接放出源码.如若有任何疑问,可向后继续观看详细解说~~~ (PSPSPS:Mesh生成的顺序,方式等有很多,当前代 ...
最新文章
- 开发者被要求向破解者道歉,竟揪出“阿里云假员工”,网友:这人有前科
- 如何优化UPS的工作模式为数据中心节省运营成本
- 关于范围for语句的使用
- 命令行下Apache日志统计举例
- 7-7 旅游规划 (8 分)
- IIC软件模拟-读写EEPROM
- 女子驾驶蔚来汽车被迫停留长安街超1小时 官方回应:司机连续误操作
- Visual C# 对话框全接触
- python 多线程就这么简单
- [转载] Python内置函数-min函数和max函数-详解
- 分类战车SVM全系列
- Java8新特性-Lambda表达式
- 小程序轮播图swiper,自定义的指示点
- 历史上的一些重大芯片诞生回顾-推动行业发展
- 日均5亿查询量,京东到家订单中心ES架构演进
- UOJ #138. 【UER #3】开学前的涂鸦
- 推荐系统通用用户表征预训练研究进展
- MyEclipse如何配置Tomcat
- 沈南鹏@《遇见大咖》: A轮没投,投了8个月以后就证明了张一鸣是对了,在美国都没有张一鸣这种模式...
- 分析:全球千亿美元市值IT企业榜单及点评
热门文章
- python3 从尾部读取_Python3基础:列表详解
- 报错org.apache.htrace htrace-core4 4.1.0 incubating htrace-core4.jar 报错spark
- 统计学习/机器学习常用小知识
- linux --开机自动挂载硬盘【转】
- 最大似然估计_状态估计的基本概念(2)最大似然估计和最大后验估计
- 深度学习之卷积神经网络(4)LeNet-5实战
- android framework,GitHub - zhaozepeng/Android_framework: android framework 用来快速开发的android框架...
- 『设计模式』就因为多收了我2块5,我追着收银员问是不是不懂设计模式--策略模式
- [kubernetes] 资源管理 --- 资源预留实践
- 分析PCB技术印制电路板的可靠性设计(z)