一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

提取前端代码的中文的方法、装置、设备和存储介质与流程

2022-09-01 01:58:38 来源:中国专利 TAG:


1.本发明涉及中文提取技术领域,特别涉及一种提取前端代码的中文的方法、装置、设备和存储介质。


背景技术:

2.对软件项目的国际化改造,是软件开发领域常见的一种需求。国际化改造,是指,改造针对某国开发的软件项目前端的代码文件,使得改造后的软件项目适用于另一个国家。
3.其中,对适用于国内的软件项目进行国际化改造时,需要在软件项目前端的代码文件中识别出中文文本,然后将这些中文文本替换为对应的其他语言的文本(如替换为英语文本)。
4.现有技术在识别代码文件的中文文本时,常常会将与软件运行过程无关的注释文本也识别为需要被替换的中文文本,导致后续将中文文本替换为英文文本时工作量较大,国际化改造的效率较低。


技术实现要素:

5.针对上述现有技术存在的问题,本技术提供一种提取前端代码的中文的方法、装置、设备和存储介质,以提供一种能够区分注释的代码文件中文文本识别方案,从而提高国际化改造的效率。
6.本技术第一方面提供一种提取前端代码的中文的方法,包括:
7.确定软件项目中的待处理代码文件;
8.识别所述待处理代码文件中的注释文本;
9.利用正则表达式检查所述待处理代码文件的非注释文本,获得所述非注释文本包含的中文文本;其中,所述非注释文本,是指所述待处理代码文件中除所述注释文本以外的文本;
10.将所述中文文本按预设格式输出到指定的文件中。
11.可选的,所述确定软件项目中的待处理代码文件,包括:
12.遍历所述软件项目所包含的每一个代码文件;
13.将所述软件项目中符合预设的处理规则的所述代码文件确定为待处理代码文件。
14.可选的,所述识别所述待处理代码文件中的注释文本,包括:
15.在所述待处理代码文件中查找单行注释标识,起始多行注释标识和结尾多行注释标识;
16.针对每一个所述单行注释标识,将所述单行注释标识,以及所述单行注释标识所在行中位于所述单行注释标识之后的文本确定为注释文本;
17.针对每一个所述起始多行注释标识,将所述起始多行注释标识,位于所述起始多行注释标识之后的首个结尾多行注释标识,以及两者之间的文本确定为注释文本。
18.可选的,所述利用正则表达式检查所述待处理代码文件的非注释文本,获得所述非注释文本包含的中文文本,包括:
19.忽略所述待处理代码文件中的注释文本,利用正则表达式检查所述待处理代码文件的非注释文本,获得所述非注释文本包含的中文文本。
20.可选的,所述将所述中文文本按预设格式输出到指定的文件中,包括:
21.将所述中文文本,所述中文文本所属的所述待处理代码文件的名称以及所述中文文本所在行的行编号一并输出到指定的文件中。
22.本技术第二方面提供一种提取前端代码的中文的装置,包括:
23.确定单元,用于确定软件项目中的待处理代码文件;
24.识别单元,用于识别所述待处理代码文件中的注释文本;
25.检查单元,用于利用正则表达式检查所述待处理代码文件的非注释文本,获得所述非注释文本包含的中文文本;其中,所述非注释文本,是指所述待处理代码文件中除所述注释文本以外的文本;
26.输出单元,用于将所述中文文本按预设格式输出到指定的文件中。
27.可选的,所述确定单元确定软件项目中的待处理代码文件时,具体用于:
28.遍历所述软件项目所包含的每一个代码文件;
29.将所述软件项目中符合预设的处理规则的所述代码文件确定为待处理代码文件。
30.可选的,所述识别单元识别所述待处理代码文件中的注释文本时,具体用于:
31.在所述待处理代码文件中查找单行注释标识,起始多行注释标识和结尾多行注释标识;
32.针对每一个所述单行注释标识,将所述单行注释标识,以及所述单行注释标识所在行中位于所述单行注释标识之后的文本确定为注释文本;
33.针对每一个所述起始多行注释标识,将所述起始多行注释标识,位于所述起始多行注释标识之后的首个结尾多行注释标识,以及两者之间的文本确定为注释文本。
34.可选的,所述检查单元利用正则表达式检查所述待处理代码文件的非注释文本,获得所述非注释文本包含的中文文本时,具体用于:
35.忽略所述待处理代码文件中的注释文本,利用正则表达式检查所述待处理代码文件的非注释文本,获得所述非注释文本包含的中文文本。
36.可选的,所述输出单元将所述中文文本按预设格式输出到指定的文件中时,具体用于:
37.将所述中文文本,所述中文文本所属的所述待处理代码文件的名称以及所述中文文本所在行的行编号一并输出到指定的文件中。
38.本技术第三方面提供一种电子设备,包括存储器和处理器;
39.所述存储器用于存储计算机程序;
40.所述处理器用于执行所述计算机程序,具体用于实现本技术第一方面任意一项所提供的提取前端代码的中文的方法。
41.本技术第四方面提供一种计算机存储介质,用于存储计算机程序,所述计算机程序被执行时,具体用于实现本技术第一方面任意一项所提供的提取前端代码的中文的方法。
42.本技术提供一种提取前端代码的中文的方法、装置、设备和存储介质,包括:确定软件项目中的待处理代码文件;识别待处理代码文件中的注释文本;利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本;非注释文本,是指待处理代码文件中除注释文本以外的文本;将中文文本按预设格式输出到指定的文件中。本方案在提取中文文本前先识别出代码文件中的注释文本,由此在提取中文文本时可以仅针对代码文件的非注释文本进行,提高了提取中文文本的效率。
附图说明
43.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
44.图1为本技术实施例提供的一种提取前端代码的中文的方法的流程图;
45.图2为本技术实施例提供的另一种提取前端代码的中文的方法的流程图;
46.图3为本技术实施例提供的一种代码文件的示意图;
47.图4为本技术实施例提供的一种提取前端代码的中文的装置的结构示意图;
48.图5为本技术实施例提供的一种电子设备的结构示意图。
具体实施方式
49.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
50.为了便于理解本发明的技术方案,首先介绍本发明可能涉及的部分概念。
51.国际化改造:所谓国际化改造,就是一套前端代码,可以在多种语言之间进行切换,例如常见的网页上“切换语言”的按钮,可以根据用户的选择来切换网页的语言。
52.在对于已有的软件项目进行国际化改造时,第一步就是需要识别出有哪些地方需要改造,即代码中哪些部分包含了中文。虽然现在的开发工具基本都支持全局搜索的功能,但是全局搜索无法识别注释,也不支持导出。本发明提供了一种方法可以排除注释内的内容,搜索需要进行国际化改造的地方,也就是在代码文件中搜索出除注释以外的中文文本,并将搜索到的结果进行导出的方法。
53.本技术实施例提供一种提取前端代码的中文的方法,请参见图1,该方法可以包括如下步骤。
54.s101,确定软件项目中的待处理代码文件。
55.在一些可选的实施例中,可以将软件项目中的每一个代码文件均确定为待处理代码文件,然后针对每一个待处理代码文件执行后续步骤以提取得到代码文件中的中文文本。
56.在另一些可选的实施例中,也可以仅将软件项目中符合预设的处理规则的若干个代码文件确定为待处理代码文件,其他不符合处理规则的代码文件则不确定为待处理代码
文件,相应的,不符合处理规则的代码文件在后续流程中就对其提取中文文本。
57.也就是说,步骤s101,即确定软件项目中的待处理代码文件,具体可以包括:
58.遍历软件项目所包含的每一个代码文件;
59.将软件项目中符合预设的处理规则的代码文件确定为待处理代码文件。
60.上述处理规则的具体内容可以根据需要预先设定,本实施例对此不作限定。
61.作为示例,上述处理规则可以是代码文件的文件名称需要包含特定字符串,基于该处理规则,步骤s101中可以逐一检测软件项目的每一个代码文件的名称是否包含特定字符串,如包含,则确定该代码文件为待处理代码文件,如不包含,则确定该代码文件不为待处理代码文件。
62.s102,识别待处理代码文件中的注释文本。
63.步骤s102,即识别待处理代码文件中的注释文本和非注释文本的具体执行过程包括:
64.a1,在待处理代码文件中查找单行注释标识,起始多行注释标识和结尾多行注释标识。
65.首先在待处理代码文件中查找注释标识。具体的,一般的代码文件中允许开发人员采用两种方式进行注释。
66.第一种是使用单行注释标识进行注释,单行注释标识为//,当开发人员在代码文件的某一行输入单行注释标识后,这个单行注释标识之后直至本行结尾的所有内容均会被编译器识别为注释。
67.第二种是使用多行注释标识进行注释,多行注释标识为一组搭配使用的标识,具体分为起始多行注释标识/*和结尾多行注释标识*/,当开发人员在代码文件的任意位置输入一个起始多行注释标识后,在这个起始多行注释标识之后,在最接近的一个结尾多行注释标识之前的所有文本均会被编译器识别为注释。
68.基于上述两种注释方式,在步骤s102中,可以首先识别待处理代码文件中的各个单行注释标识、起始多行注释标识和结尾多行注释标识。
69.a2,针对每一个单行注释标识,将单行注释标识,以及单行注释标识所在行中位于单行注释标识之后的文本确定为注释文本。
70.结合前述第一种注释方式,在步骤a2中,每识别到一个单行注释标识,可以在这个单行注释标识之后识别换行符,当识别到换行符之后,将这个单行注释标识,以及单行注释标识和换行符之间的文本均确定为注释文本。
71.a3,针对每一个起始多行注释标识,将起始多行注释标识,位于起始多行注释标识之后的首个结尾多行注释标识,以及两者之间的文本确定为注释文本。
72.结合前述第二种注释方式,在步骤a3中,每识别到一个起始多行注释标识,就可以从这个起始多行注释标识开始,向后查找结尾多行注释标识,然后将向后查找到的首个结尾多行注释标识,之前识别到的起始多行注释标识,以及这两个标识之间的文本,确定为注释文本。
73.在一些可选的实施例中,为了避免后续步骤提取中文文本时混淆,在步骤s102中识别出注释文本后,还可以执行如下步骤:
74.删除待处理代码文件中的注释文本。
75.可选的,为了避免文件丢失,在删除注释文本前,可以先创建待处理代码文件的副本,并保存该副本,以便处理流程出现异常时根据副本恢复原本的待处理代码文件。
76.s103,利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本。
77.其中,非注释文本,是指待处理代码文件中除注释文本以外的文本。也就是说,在步骤s103中,利用正则表达式检查待处理代码文件中除步骤s102确定的注释文本以外的全部文本,从而在其中查找出中文文本。
78.可选的,利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本,具体包括:
79.忽略待处理代码文件中的注释文本,利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本。
80.在步骤s103中具体使用的正则表达式可以根据实际的查找需求而设定,本实施例对此不作限定。
81.作为一种示例,在步骤s103中可以利用正则表达式[\u4e00-\u9fa5]来查找中文文本,其中\u表示unicode编码,该正则表达式用于查找unicode编码在4e00至9fa5之间的字符,而4e00至9fa5正是unicode编码里中文字符的编码段。
[0082]
作为另一种示例,在步骤s103中可以利用正则表达式[^\x00-\xff]来查找中文文本,该正则表达式用于在待处理代码文件的非注释文本中查找所有双字节的字符,而代码文件中的双字节字符只有中文字符,因此利用该正则表达式可以在非注释文本中找到中文字符,进而确定中文文本。
[0083]
s104,将中文文本按预设格式输出到指定的文件中。
[0084]
在一些可选的实施例中,执行步骤s104时,可以将找到的中文文本和中文文本的相关信息(包括但不限于在文件中的位置信息等)按格式输出到指定文件,以便后续将中文文本替换为其他语言的文本。
[0085]
本技术提供一种提取前端代码的中文的方法,包括:确定软件项目中的待处理代码文件;识别待处理代码文件中的注释文本;利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本;非注释文本,是指待处理代码文件中除注释文本以外的文本;将中文文本按预设格式输出到指定的文件中。本方案在提取中文文本前先识别出代码文件中的注释文本,由此在提取中文文本时可以仅针对代码文件的非注释文本进行,提高了提取中文文本的效率。
[0086]
本技术实施例还提供一种提取前端代码的中文的方法,请参见图2,该方法可以包括如下步骤。
[0087]
s201,确定软件项目中的待处理代码文件。
[0088]
s202,识别待处理代码文件中的注释文本。
[0089]
s203,利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本。
[0090]
步骤s201至步骤s203的具体实施方式和图1所示实施例中的步骤s101至s103一致,此处不再赘述。
[0091]
s204,将中文文本,中文文本所属的待处理代码文件的名称以及中文文本所在行
的行编号一并输出到指定的文件中。
[0092]
步骤s204,可以视为图1所示实施例中步骤s104的一种具体实现方式。
[0093]
也就是说,在步骤s204中,在找到中文文本后,还需要进一步确定该中文文本所述文件的名称和所在行的行编号。
[0094]
可选的,若找到的中文文本占据了文件中连续多行,则s204中输出的行编号,可以是一个行编号区间,例如,对于一个占据了1至5行的中文文本,s204中输出的该中文文本的行编号可以是“1至5行”。
[0095]
示例性的,假设查找到的一条中文文本“请输入账号”属于待处理代码文件xx,且位于该文件的第100行,则步骤s204中将该中文文本输出到指定文件上的格式可以是:
[0096]“请输入账号”,位于xx文件,100行。
[0097]
本实施例具有如下的有益效果:
[0098]
在指定的输出文件中标记查找得到的每一条中文文本所属文件的名称和所在行的编号,可以方便后续对待处理代码文件进行国际化改造。具体的,在进行国际化改造时,只需要按照文件中记录的所属文件名称和所在行编号,就可以快速定位到任意一条中文文本的位置,进而将该中文文本替换为指定的其他语言的文本,由此,通过输出s204中的信息,可以显著提高提取中文文本后对代码文件进行国际化改造的效率。
[0099]
下面结合一个示例说明本技术实施例提供的提取前端代码的中文的方法的实施过程。
[0100]
请参见图3,为本技术实施例提供的一种代码文件的示例。
[0101]
在确定图3所示的代码文件为待处理代码文件后,根据图2所示实施例,首先需要执行步骤s202,即在代码文件中识别出注释文本。
[0102]
通过查找,如图3的(1)所示,在代码文件中查找得到一个单行注释标识301,一个起始多行注释标识302,以及一个结尾多行注释标识303。
[0103]
基于上述标识301至303,可以确定:
[0104]
单行注释标识301以及位于其后的同一行的文本为注释文本,也就是确定“//第一条注释”为注释文本;
[0105]
起始多行注释标识302和结尾多行注释标识303,以及两者之间的全部文本为注释文本,也就是确定“/*第二条注释*/”为注释文本。
[0106]
在确定上述注释文本后,可以从待处理代码文件中忽略注释文本,注释文本被忽略后的待处理代码文件如图3的(2)所示。
[0107]
至此,可以对剩余的非注释文本执行步骤s203,即在其中查找出中文文本。本示例中,可以使用正则表达式[^\x00-\xff]在图3的(2)所示的非注释文本中查找中文文本。
[0108]
经查找,在待处理代码文件的非注释文本中找到一条中文文本,即“结束”。
[0109]
最后,执行步骤s204,将找到的中文文本,所属文件的名称和所在行的编号按格式输出到指定文件中。
[0110]
假设图3所示的待处理代码文件名称为aa,图3的(2)所示的中文文本输出到指定文件后,其形式可以是:
[0111]“结束”,位于aa文件,4行。
[0112]
根据上述实施例提供的提取前端代码的中文的方法,本技术实施例还提供一种提
取前端代码的中文的装置,请参见图4,该装置可以包括如下单元。
[0113]
确定单元401,用于确定软件项目中的待处理代码文件。
[0114]
识别单元402,用于识别待处理代码文件中的注释文本。
[0115]
检查单元403,用于利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本。
[0116]
其中,非注释文本,是指待处理代码文件中除注释文本以外的文本。
[0117]
输出单元404,用于将中文文本按预设格式输出到指定的文件中。
[0118]
可选的,检查单元403利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本时,具体用于:
[0119]
忽略待处理代码文件中的注释文本,利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本。
[0120]
可选的,确定单元401确定软件项目中的待处理代码文件时,具体用于:
[0121]
遍历软件项目所包含的每一个代码文件;
[0122]
将软件项目中符合预设的处理规则的代码文件确定为待处理代码文件。
[0123]
可选的,识别单元402识别待处理代码文件中的注释文本时,具体用于:
[0124]
在待处理代码文件中查找单行注释标识,起始多行注释标识和结尾多行注释标识;
[0125]
针对每一个单行注释标识,将单行注释标识,以及单行注释标识所在行中位于单行注释标识之后的文本确定为注释文本;
[0126]
针对每一个起始多行注释标识,将起始多行注释标识,位于起始多行注释标识之后的首个结尾多行注释标识,以及两者之间的文本确定为注释文本。
[0127]
可选的,本实施例提供的提取前端代码的中文的装置还包括删除单元405,用于:
[0128]
删除待处理代码文件中的注释文本。
[0129]
可选的,输出单元404将中文文本按预设格式输出到指定的文件中时,具体用于:
[0130]
将中文文本,中文文本所属的待处理代码文件的名称以及中文文本所在行的行编号一并输出到指定的文件中。
[0131]
其中,输出单元404将中文文本,所属文件名称和所在行编号一并输出到指定文件的好处在于:
[0132]
在后续对待处理代码文件进行国际化改造时,可以根据文件中记录的所属文件名称和所在行的行编号,快速地在软件项目的大量代码中定位出每一条需要被替换的中文文本的位置,进而迅速将中文文本替换为指定语言的文本,显著提高了对软件项目进行国际化改造的效率。
[0133]
本实施例提供的提取前端代码的中文的装置,其具体工作原理可以参见本技术任一实施例提供的提取前端代码的中文的方法中的相关步骤,此处不再赘述。
[0134]
本技术提供一种提取前端代码的中文的装置,该装置包括:确定单元401,确定软件项目中的待处理代码文件;识别单元402,识别待处理代码文件中的注释文本;检查单元403,利用正则表达式检查待处理代码文件的非注释文本,获得非注释文本包含的中文文本;非注释文本,是指待处理代码文件中除注释文本以外的文本;输出单元404,将中文文本按预设格式输出到指定的文件中。本方案在提取中文文本前先识别出代码文件中的注释文
本,由此在提取中文文本时可以仅针对代码文件的非注释文本进行,提高了提取中文文本的效率。
[0135]
本技术实施例还提供一种电子设备,请参见图5,该电子设备具体包括存储器501和处理器502。
[0136]
存储器501用于存储计算机程序。
[0137]
处理器502用于执行计算机程序,具体用于实现本技术任一实施例所提供的提取前端代码的中文的方法。
[0138]
本技术实施例还提供一种计算机存储介质,用于存储计算机程序,计算机程序被执行时,具体用于实现本技术任一实施例所提供的提取前端代码的中文的方法。
[0139]
专业技术人员能够实现或使用本技术。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本技术的精神或范围的情况下,在其它实施例中实现。因此,本技术将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献