软件项目源代码中文查找方法、系统及介质技术方案

技术编号:32822968 阅读:18 留言:0更新日期:2022-03-26 20:21
本发明专利技术实施例公开了软件项目源代码中文查找方法、系统及介质,其中方法包括:选择查找范围;若查找范围是在文件中查找,则获取文件名、文件编码格式及输出结果目录;若查找范围是在文件夹中查找,则获取文件夹、文件类型后缀名、文件编码格式及输出结果目录;打开源码目录的指定文件;根据所述文件名或文件夹读取源代码文件,通过预设的注释内容正则表达式和中文字符串正则表达式,排除注释内容并提取中文字符串;将所述中文字符串写入所述指定excel文件中。本发明专利技术实施例能够提高开发效率,缩短开发周期。缩短开发周期。缩短开发周期。

【技术实现步骤摘要】
软件项目源代码中文查找方法、系统及介质


[0001]本专利技术涉及计算机领域,特别涉及一种软件项目源代码中文查找方法、系统及介质。

技术介绍

[0002]在某些应用场景下,比如公司要将软件产品推向国际市场,而软件产品在开发阶段没有考虑应对多种语言版本,这时就需要对软件产品进行国际化改造,将项目源代码文件中代码里(不包括注释)的所有中文字符串用常量替换,以应对不同的语言版本切换,这时我们就需要提取项目中源代码的中文字符串,同时排除源代码中注释里的中文,用户只需要指定项目文件夹根目录,运行软件即可将源代码的中文字符串提取到excel文件中,通过对excel文件进行分析,把重复出现的字符串进行统一替换,也可以自己编写工具进行自动化替换,如此则能大大提高工作效率,降低人工成本。
[0003]目前市面上软件项目里源代码的中文查找方法:
[0004]一种是编程工具IDE自带的字符串查找插件,需要输入指定的中文字符串才能查找,如Eclipse的搜索功能,在不知道字符串内容的情况下是无法查找的。该方法需要知道中文字符具体内容,而我们事先并不知到项目中有哪些中文,因此无法满足需求。
[0005]第二种是人工查找方法,也是最原始的方法,即开发人员一个个文件一行行代码去查找,需要耗费大量的人力和时间,效率低,成本高,项目工期长,无法满足敏捷开发的需求。
[0006]第三种是采用第三方中文查找软件(如云月中文查找器),但这些软件都是无差别查找,它们会把项目中的所有中文都查找出来,包括注释里的中文和源代码里的中文。这种方法有以下缺点:有些中文查找软件需要人工输入一个个源码文件的内容才能进行查找,无法按项目路径进行搜索,当项目中源码文件个数很多(几万或几十万个)的时候,这种方式费时费力,效率低,成本高;无差别的把文件里的所有中文字符都找出来,无法排除注释部分的中文,后期需要人工一个个在源码文件中比对,会大大增加筛查工作量,效率低,成本高;无法指定文件编码格式,有时会导致查找出来的是乱码;查找结果输出到txt文件中,不方便查看。这种方式会大大增加筛选工作量,无法精确定位到需要修改的字符串位置。

技术实现思路

[0007]本专利技术旨在至少解决现有技术中存在的技术问题之一。为此,本专利技术提出一种软件项目源代码中文查找方法,能够提高开发效率,缩短开发周期。
[0008]本专利技术还提出一种软件项目源代码中文查找系统。
[0009]本专利技术还提出一种实施上述软件项目源代码中文查找方法的计算机可读存储介质。
[0010]根据本专利技术的第一方面实施例的软件项目源代码中文查找方法,包括以下步骤:选择查找范围,所述查找范围包括在文件中查找和在文件夹中查找;若查找范围是在文件
中查找,则获取文件名、文件编码格式及输出结果目录;若查找范围是在文件夹中查找,则获取文件夹、文件类型后缀名、文件编码格式及输出结果目录;打开输出结果目录的指定文件;根据所述文件名或文件夹读取源代码文件,通过预设的注释内容正则表达式和中文字符串正则表达式,排除注释内容并提取中文字符串;将所述中文字符串写入所述指定文件中。
[0011]根据本专利技术实施例的软件项目源代码中文查找方法,至少具有如下有益效果:本专利技术实施例的方法既可以按文件名查找,又可以按指定文件夹查找,并且支持指定文件编码格式,避免出现乱码,查找的内容不包含注释内容,可以方便地替换源代码中的中文,提高开发效率,缩短开发周期。
[0012]根据本专利技术的一些实施例,根据文件夹读取源代码文件包括:循环读取所述文件夹下的文件,将文件内容加载到内存中。
[0013]根据本专利技术的一些实施例,根据文件夹读取源代码文件包括:确定所述文件夹包括子文件夹,递归读取所述子文件夹中的文件,将文件内容加载到内存中。本实施例满足多种应用场景,按文件夹进行查找,同时还对文件夹的子目录进行递归查找。
[0014]根据本专利技术的一些实施例,所述注释内容正则表达式为:"/\*{1,2}[\s\S]*?\*/|//[\s\S]*?\n|#[\s\S]*?\n"。
[0015]根据本专利技术的一些实施例,用于匹配中文字符串的所述中文字符串正则表达式为:"[\u4e00

\u9fa5]+"。
[0016]根据本专利技术的一些实施例,所述指定文件为Excel文件。
[0017]根据本专利技术的一些实施例,所述Excel文件的表格的表头包括序号、文件名和中文内容。
[0018]根据本专利技术的第二方面实施例的软件项目源代码中文查找系统,包括:查找信息输入模块,用于获取查找范围及对应的查找信息;所述查找范围包括在文件中查找和在文件夹中查找,在文件中查找对应的查找信息包括文件名、文件编码格式及输出结果目录,在文件夹中查找对应的查找信息包括文件夹、文件类型后缀名、文件编码格式及输出结果目录;文件写入模块,用于打开输出结果目录的指定文件,并将从源代码中读取的中文字符串写入所述指定文件;文件读取模块,用于根据文件名读取源代码文件;文件夹读取模块,用于循环读取文件夹中的文件,并递归查找并读取子文件夹中的文件;中文字符串提取模块,用于通过预设的注释内容正则表达式和中文字符串正则表达式,排除注释内容并提取中文字符串。
[0019]根据本专利技术实施例的软件项目源代码中文查找系统,至少具有如下有益效果:本专利技术实施例的系统既支持按文件名查找,又支持按指定文件夹查找,并且支持指定文件编码格式,避免出现乱码,查找的内容不包含注释内容,可以方便地替换源代码中的中文,提高开发效率,缩短开发周期。
[0020]根据本专利技术的一些实施例,所述注释内容正则表达式为:"/\*{1,2}[\s\S]*?\*/|//[\s\S]*?\n|#[\s\S]*?\n";所述中文字符串正则表达式为:"[\u4e00

\u9fa5]+"。
[0021]根据本专利技术的第三方面实施例的计算机可读存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现本专利技术的第一方面实施例中任一项的软件项目源代码中文查找方法。
[0022]由于本专利技术实施例的计算机可读存储介质上存储有用于执行如本专利技术第一方面中任一项所述的软件项目源代码中文查找方法的计算机可执行指令,因此具有本专利技术第一方面的所有有益效果。
[0023]本专利技术的附加方面和优点将在下面的描述中部分给出,部分将从下面的描述中变得明显,或通过本专利技术的实践了解到。
附图说明
[0024]本专利技术的上述和/或附加的方面和优点从结合下面附图对实施例的描述中将变得明显和容易理解,其中:
[0025]图1为本专利技术实施例的方法的流程示意图;
[0026]图2为本专利技术实施例的通过人机交互界面获取查找范围及信息的示意图;
[0027]图3为本专利技术实施例的输出Excel文件的内容示意图;
[0028]图4为本专利技术另一实施例的方法的流程示意图;
[0029]图5为本专利技术实施例的系统的模块示意框图。
...

【技术保护点】

【技术特征摘要】
1.一种软件项目源代码中文查找方法,其特征在于,包括以下步骤:选择查找范围,所述查找范围包括在文件中查找和在文件夹中查找;若查找范围是在文件中查找,则获取文件名、文件编码格式及输出结果目录;若查找范围是在文件夹中查找,则获取文件夹、文件类型后缀名、文件编码格式及输出结果目录;打开输出结果目录的指定文件;根据所述文件名或文件夹读取源代码文件,通过预设的注释内容正则表达式和中文字符串正则表达式,排除注释内容并提取中文字符串;将所述中文字符串写入所述指定文件中。2.根据权利要求1所述的软件项目源代码中文查找方法,其特征在于,根据文件夹读取源代码文件包括:循环读取所述文件夹下的文件,将文件内容加载到内存中。3.根据权利要求1所述的软件项目源代码中文查找方法,其特征在于,根据文件夹读取源代码文件包括:确定所述文件夹包括子文件夹,递归读取所述子文件夹中的文件,将文件内容加载到内存中。4.根据权利要求1所述的软件项目源代码中文查找方法,其特征在于,所述注释内容正则表达式为:"/\*{1,2}[\s\S]*?\*/|//[\s\S]*?\n|#[\s\S]*?\n"。5.根据权利要求1所述的软件项目源代码中文查找方法,其特征在于,用于匹配中文字符串的所述中文字符串正则表达式为:"[\u4e00

\u9fa5]+"。6.根据权利要求1所述的软件项目源代码中文查找方法,其特征...

【专利技术属性】
技术研发人员:杨春平张科沈贤沛匡楚盛张帆
申请(专利权)人:珠海许继电气有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1