文本处理方法、装置、设备、介质和程序产品与流程

文档序号:29703262发布日期:2022-04-16 15:03阅读:76来源:国知局
文本处理方法、装置、设备、介质和程序产品与流程

1.本技术涉及互联网技术领域,尤其涉及一种文本处理方法、装置、设备、 介质和程序产品。


背景技术:

2.在互联网前端开发的过程中,主要会使用到超文本标记语言(hyper textmarkup language,html)、脚本语言(javascript,js)和层叠样式表(cascadingstyle sheets,css)三种编程语言,三者分别用于实现前端不同功能的开发。
3.现有技术中,为了能够提高前端开发效率,会使用各种组件或模型来组 装前端代码,每一个组件或模块能够实现对应的功能,这样开发人员在开发 的过程中就可以直接复用这些组件或模块,而不需要再代码编写,从而提高 了开发效率。
4.但是,现有技术中的css并不具备模块化标准,每个开发者在开发自己 负责的组件或模型时,由于不同开发者的代码风格不一致,容易导致各个组 件或模块中定义的各种变量函数出现一致的情况,最终容易造成各种变量函 数互相污染,反而会降低前端开发效率。


技术实现要素:

5.本技术提供一种文本处理方法、装置、设备、介质和程序产品,用于解 决现有css编程语言容易出现类名污染,降低前端开发效率的问题。
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.第四方面,本技术实施例提供一种可读存储介质,所述可读存储介质中 存储有计算机指令,所述计算机指令被处理器执行时用于实现上述的方法。
45.第五方面,本技术实施例提供一种程序产品,包括计算机指令,该计算 机指令被处理器执行时实现上述的方法。
46.本技术实施例提供的文本处理方法、装置、设备、介质和程序产品,通 过获取css类型文件中容易与其他类型文件存在重复的文本信息的标识,并 使用标识对这些文本信息进行替换,能够防止css类型文件中出现重复类名, 避免出现类名污染,提高前端开发效率。
附图说明
47.此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本申 请的实施例,并与说明书一起用于解释本技术的原理;
48.图1为本技术实施例提供的前端页面的开发场景示意图;
49.图2为本技术实施例提供的文本处理方法的流程示意图;
50.图3为本技术实施例提供的文件夹的结构示意图;
51.图4为本技术实施例提供的文本处理装置的结构示意图;
52.图5为本技术实施例提供的计算机设备的结构示意图;
53.通过上述附图,已示出本技术明确的实施例,后文中将有更详细的描述。 这些附图和文字描述并不是为了通过任何方式限制本技术构思的范围,而是 通过参考特定实施例为本领域技术人员说明本技术的概念。
具体实施方式
54.为使本技术实施例的目的、技术方案和优点更加清楚,下面将结合本申 请实施例中的附图,对本技术实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本技术一部分实施例,而不是全部的实施例。基于 本技术中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例,都属于本技术保护的范围。
55.首先对本技术所涉及的名词进行解释:
56.css:
57.层叠样式表(cascading style sheets,css)是一种计算机语言,可以静 态地修饰网页,能够对网页中元素位置的排版进行像素级精确控制,支持和 各种字体字号样式,拥有对网页对象和模型样式编辑的能力,css用于设定 网页的表现样式。
58.html:
59.超文本标记语言(hyper text markup language,html)是一种标记语 言,用于决定前端网页的结构和内容。
60.前端开发:
61.前端开发是创建万维网(world wide web,web)页面或应用程序 (application,app)等前端界面呈现给用户的过程,通过html,css, javascript以及衍生出来的各种技术、框架、解决方案,来实现互联网产品的 用户界面交互。
62.随着前端技术的大力发展,在不同阶段会产生出很多高质量的前端框架, 这些高质量的前端框架基本都使用到了模块化和组件化的核心思想组装前端 代码。简单来说,这些前端框架所使用的是一种叫做单文件形式的组合开发 方式,具体就是抽象出相同或相似的功能,通过组件化或模块化封装成一份 具备可复用性和可维护性的代码片段(通常都是一个文件夹,文件夹中包含 单个或多个html/css/javascript文件)。
63.其中,组件化的核心意义在于遇到相同或相似功能的开发场景时可以快 速复用,大大减轻开发者因重复塑造代码而带来的时间成本损耗。模块化的 核心意义则在于分离职责,属于代码级别的模块化的产出,其本身是提供服 务的功能逻辑,是一组具有一定内聚性代码的组合,职责明确很明确。
64.模块化和组件化虽然能够使前端代码具备更高级的可复用性和可维护性, 减少开发人员的工作量,但是在组件化和模块化的过程中,不同的组件或模 块不可能完全由一个人开发出来,这个过程需要多个开发人员。每个开发人 员可能会负责一个组件或模块的开发,这样就会存在不同的开发人员可能会 使用相同的变量名、函数名、id名或者类名的情况,如此这些相同的变量名、 函数名、id名或者类名互相之间就会产生污染,最终导致文件可能因执行顺 序或依赖顺序报错,反而降低了开发人员实际开发效率。
65.示例性的,图1为本技术实施例提供的前端页面的开发场景示意图,在 前端开发的过程中,通常会使用html,css和javascript(简称js)等编 程语言来设计页面,例如通过html设计前端网页的结构和内容,通过css 来设计网页的表现样式等。如图1所示,前端页面(例如网页、app主界面) 是由若干个组件组成的,每一个组件可以实现不同的功能,对应到页面上可 以是页面的按钮、文字框等。在开发过程中,通常都是一个开发人员负责一 个组件的开发,而开发者通常主要是使用css/html和js三种语言进行程 序编码,所有开发者的编码风格或命名风格可能会不一致,如此就会导致不 同开发者会定义相同的变量名、函数名、id名或者类名,互相之间产生污染。
66.在现有技术中,随着javascript标准的不断完善,js也具备了模块化标 准,对于js的变量名和函数名,在最终的构建打包过程中会被构建脚本处理 成更简单且唯一的变量名或函数名,即使不在构建打包过程中处理,也可在 开发阶段使用javascript约定俗称的模块化规范处理,同样达到变量名和函数 名不被污染的作用,解决js模块化时各种变量函数互相污染和文件可能因执 行顺序或依赖顺序报错等常规问题,但css由于暂时不具备模块化标准,所 以其样式互相覆盖的问题一直未被解决。
67.示例性的,css如果使用上述的当文件形式的组合开发方式,可能会出 现css类型污染的问题(俗称样式覆盖)。例如,在独立开发或协作开发的 过程中,如果开发人员之间未经协商使用重复类名就会导致先执行的样式被 后执行的样式覆盖,从而使得页面表现出异常的行为,甚至引起排版布局错 位等情况,这种情况会严重影响用户对网站的体验,造成用户流失。例如, 一个网页元素的内部文字原本应当是水平垂直居中状态,其样式类名为a, 但是另一个网页元素的类名在开发时也被标记为a,另一个网页元素的类名 定义的是内部文字是水平居左垂直居中的状态。如此,当样式被应用到页面 时,也会把先前的网页元素的内部文字变成水平居左垂直居中的状态,产生 样式覆盖。
68.针对上述文本,本技术实施例提供的文本处理方法、装置、设备、介质 和程序产品,通过获取每个目标文件夹中css的代码内容,提取出容易出现 污染的类名、变量名、函
数名等文本信息,并使用唯一id来替换这些类名、 变量名、函数名,能够避免开发人员在开发过程中,不同文件内的文本信息 由于相同而发生污染的问题,提高开发效率。
69.下面,通过具体实施例对本技术的技术方案进行详细说明。需要说明的 是,下面这几个具体的实施例可以相互结合,对于相同或相似的概念或过程 可能在某些实施例中不再赘述。
70.图2为本技术实施例提供的文本处理方法的流程示意图。该方法可以应 用于计算机设备中,如图2所示,该方法具体可以包括如下步骤:
71.s201、获取目标文件夹中的第一类型文件。
72.其中,第一类型文件为使用层叠样式表类型的计算机语言编写得到的, 目标文件夹中至少还包含有第二类型文件,第二类型文件为使用非层叠样式 表类型的计算机语言编写得到的且第二类型文件中包含有与第一类型文件相 同的文本信息。
73.在本实施例中,第一类型文件即css类型文件,css类型文件在前端开 发过程中,主要用于设计网页的表现样式。
74.其中,目标文件夹中可以包括有多个不同类型文件,例如css类型文件、 html类型文件和js类型文件,css类型文件为使用层叠样式表类型的计 算机语言编写得到,html类型文件为使用超文本协议语言编写得到。
75.其中,不同的组件或模块可以由不同的开发人员开发,每个组件或模块 封装成一个文件夹,每个文件夹内可以包括单个或多个css/html/js类型文 件,包含有css类型文件的文件夹称为目标文件夹,不包含css类型文件的 文件夹则为非目标文件夹。
76.在本实施例中,基于前端框架开发的项目,其主要涉及到开发阶段和打 包阶段。其中,开发阶段主要是进行多人协作开发,每一个开发人员都负责 一个组件或模块的开发。在开发阶段完成之后将进入到打包阶段,进行构建 打包,打包阶段之后的代码会变成压缩混淆的状态,将无法进行代码特征提 取与操作。
77.其中,针对打包阶段之后无法进行代码特征提取与操作的问题,本技术 所提供的方法可以应用于打包阶段之前,即在开发阶段完成之后,打包阶段 之前来执行文本处理。
78.s202、提取第一类型文件中的文本信息,获取用于标识文本信息的第一 标识。
79.示例性的,文本信息可以是类名、变量名、函数名等,又或者可以是类 名、变量名、函数名对应的赋值。在本实施例中,在目标文件夹中,第一类 型文件和第二类型文件除了包含有相同的文本信息之外,还可以包含不相同 的文本信息,即第一待处理文本独有的文本信息和/或第二待处理文本独有的 文本信息。
80.示例性的,以第一类型文件为css类型文件,第二类型文件为html类 型文件为例,对于css类型文件,其文本信息可以包括有类名。对于js类 型文件,其文本信息可以包括变量名和函数名。对于html类型文件,其文 本信息也可以包括类名。类名用于规范一系列对象格式,函数用于实现不同 的功能,函数名不同,所实现功能也不相同。
81.在本实施例中,第一类型文件中每一个文本信息对应的标识都是唯一的, 互不相同。其中,标识可以是字母/数字/符号的组合形式,其位数长度也可以 是预定的,例如长度为10位。标识具体可以是由开发人员预先设置的,例如 第一类型文件中,以类名作为文本信息为例,其对应的标识为qq4hh52lc6。
82.s203、将第一类型文件中的文本信息替换为第一标识。
83.示例性的,第一类型文件具体可以包括如下代码:
[0084][0085]
其中,第一类型文件中的文本信息可以是“.tittle”、“.desc”、
ꢀ“
.tag”这三个类名。
[0086]
第二类型文件具体可以包括如下代码:
[0087][0088][0089]
其中,第二类型文件中的文本信息可以是“title”“desc”和“mark”这 三个类名。
[0090]
若第一类型文件的文本信息中的“tittle”对应的标识为qq4hh52lc6,
ꢀ“
desc”对应的标识为srz4ndool8,“mark”对应的标识为zkihvxzlt,则 替换之后的第一类型文件为如下代码:
[0091][0092]
本技术实施例在前端开发的开发阶段之后,打包阶段之前将封装在每个 目标文件夹内的css类型文件中的文本信息替换为不同的标识,不会影响其 他文件夹的文件内容,而且整个过程中不生成实体文件,所有文件操作都是 在进程的内存里模拟完成的,因此在不修改源码的同时也不会生成新的文件, 有效减少工程化所带来的垃圾文件冗余,具有无侵入性特点。同时整个过程 可以实现自动化,避免手动进行类名、变量名、函数名的查重和替换,提高 开发效率。
[0093]
在一些实施中,上述步骤s201具体可以通过如下步骤实现:
[0094]
获取每个目标文件夹的文件夹路径,存储至预设数组中;
[0095]
遍历预设数组中每个文件夹路径,获取每个目标文件夹中每个文件的文 件名;
[0096]
根据每个文件的文件名,得到每个目标文件夹中的第一类型文件和第二 类型文件。
[0097]
其中,目标文件夹中封装有实现预设功能的至少两个文件,且其中至少 一个文件为使用层叠样式表类型的计算机语言编写得到。示例性的,目标文 件夹中可以封装有html类型文件和css类型文件。
[0098]
在本实施例中,每个开发人员负责开发一个组件或模块,开发之后的组 件或模块会封装成一份具有可复用性和可维护性的代码片段,其通常为一个 文件夹,文件夹下包含单个或多个html/css/js文件。即每一个组件或模块 都对应一个文件夹。不同的组件可以实现不同的功能,例如某个组件用于实 现文字水平垂直居中,另一个组件用于实现文字水平居左垂直。
[0099]
其中,目标文件夹是指其中包含有css类型文件的文件夹。示例性的, 可以通过使用javascript运行环境中的文件系统(file system,fs)模块的目 录读取函数(readdir函数)扫描前端开发项目中指定组件类型的文件夹,从 而获取每个目标文件夹的文件夹路径,从中提取得到第一类型文件。其中, 可以使用的javascript运行环境为node.js,
node.js是一种让javascript运行 在服务端的开发平台。
[0100]
示例性的,在每遍历一个文件夹路径时,都可以读取该文件夹路径对应 的目标文件夹中的第一类型文件和第二类型文件,然后执行上述步骤s202至 s203。直到遍历完所有的目标文件夹。
[0101]
示例性的,每个目标文件夹中可以包括有多个css类型文件/html类型 文件/js类型文件。当存在有多个css类型文件时,可以将多个css类型文 件先合并,作为第一类型文件;将多个html类型文件或者多个js类型文 件合并,作为第二类型文件。
[0102]
示例性的,图3为本技术实施例提供的文件夹的结构示意图,如图3所 示,在components文件夹下包含有多个文件夹,例如avatar、button、catch、 checkbox和datepicker。示例性的,avatar、button和catch可以作为目标文 件夹,其中存储有js类型文件和css类型文件。
[0103]
本技术实施例通过将每一个目标文件夹的文件夹路径存储在预设数组中, 可以依次对数组中的文件夹路径进行遍历,在每一个目标文件夹中的文本信 息替换为对应的标识,而不会影响其他文件夹中的文件内容,可以减少项目 开发前期各个开发人员之间的沟通,适用于短时间内实现敏捷开发模式的css 代码。
[0104]
在一些实施例中,上述步骤s202具体可以通过如下步骤实现:
[0105]
将第一类型文件转译为第一语法树;
[0106]
遍历第一语法树中的节点,根据预设样式规则,从第一语法树的节点中 确定出第一目标节点;
[0107]
获取第一目标节点中的数值,作为第一类型文件的文本信息。
[0108]
其中,第一语法树包括有多个节点,每个节点用于指示第一类型文件中 计算机语言的语法结构。在本实施例中,语法树可以是抽象语法树(abstractsyntax tree,ast),是源代码语法结构的一种抽象表示,它以树状的形式 表现编程语言的语法结构,树上的每一个节点都表示源代码中的一种结构。
[0109]
示例性的,若第一类型文件包含如下代码:
[0110]
.tittle{
[0111]
font-size:20px;
[0112]
color:#f66
[0113]
}
[0114]
则对应的第一语法树为如下代码:
[0115][0116][0117]
其中,第一目标节点可以是cssstylerule,cssstylerule节点中的 selectortext对应的值为“.title”,作为第一类型文件的文本信息。
[0118]
进一步的,在一些实施例中,上述方法还可以包括如下步骤:
[0119][0120]
获取第一类型文件的文本信息的信息格式;
[0121]
根据预设格式,对信息格式进行调整。
[0122]
示例性的,在对上述的第一类型文件进行遍历之后,可以得到的文本信 息包括“.title”,“.desc”,“.tag”三个类名,其中,每个类名中的“.
”ꢀ
需要移除,即对信息格式进行调整,得到调整后的文本信息为“title”,
ꢀ“
desc”,“tag”。
[0123]
示例性的,在得到文本信息“.title”、“.desc”和“.tag”之后,可 以将这些文本信息先存储到第一数组中,方便识别和提取。当后续需要进行 信息格式的调整时,则可以直接对第一数组中的所有文本信息进行信息格式 的调整即可。其中,进行信息格式调整之后,第一数组变为[“title”,
ꢀ“
desc”,“tag”]。
[0124]
在本实施例中,对第一类型文件中的文本信息进行信息格式的调整,可 以避免在后续文本信息中的信息格式也被替换为对应的标识,防止代码出现 错误。
[0125]
在一些实施例中,上述方法还可以包括如下步骤:
[0126]
提取第二类型文件中的文本信息;
[0127]
将第二类型文件中的文本信息转换为第二标识;
[0128]
将第二类型文件中的文本信息替换为第二标识。
[0129]
其中,第一标识与第二标识不相同。示例性的,第二类型文件可以是html 类型文件,html类型文件中的文本信息也可能存在与第一类型文件相同的类 名,例如“title”和“desc”。为了避免目标文件夹中html类型文件与css 类型文件之间的类名重复,可以将html类型文件中的“title”和“desc
”ꢀ
替换为对应的第二标识,避免发生重复。
[0130]
示例性的,每一个目标文件夹中包含有单个或多个css类型文件/html 类型文件和js类型文件。其中,当css类型文件中的文本信息使用对应的标 识替换之后,替换后的css类型文件中将不存在与html类型文件/js类型文 件重复的文本信息。
[0131]
示例性的,可以对每一个目标文件夹进行遍历,依次将每一个目标文件 夹中第二类型文件的文本信息替换为对应的第二标识。示例性的,第二标识 可以是该目标文件夹的文件夹路径对应的哈希值。即先使用哈希算法对目标 文件夹的路径进行处理,得到哈希值作为该目标文件夹中第二类型文件的文 本信息对应的第二标识。
[0132]
示例性的,还可以是将第二类型文件的id作为第二标识,不同的第二类 型文件的id是不相同的。
[0133]
本技术实施例通过将目标文件夹中的第二类型文件的文本信息替换为对 应的标识,能够方便开发人员在编写html和css代码时无需手动查重类名, 可以专注于当前组件或模块的开发,有效提高开发效率。
[0134]
在一些实施例中,上述方法还可以包括如下步骤:
[0135]
将第一类型文件中的文本信息和第二类型文件中的文本信息分别存储至 不同的数组中
[0136]
为每个不同的数组配置不同的标记。
[0137]
其中,标记用于识别不同的数组中包含的文本信息。
[0138]
在本实施例中,以第一类型文件为css类型文件,第二类型文件为html 类型文件为例,对于css类型文件,在遍历完css类型文件得到其文本信息 (例如“.title”、“.desc”和“.tag”)之后,可以将其存储到第一数组 中。示例性的,还可以对第一数组中的文本信息进行信息格式的调整,最终 得到的第一数组为[“title”,“desc”,“tag”]。对于html类型文件, 在遍历完html类型文件得到其文本信息(例如“title”,“desc”,“mark”) 之后,可以将其存储到第二数组中。其中,第二数组为[“title”,“desc”,
ꢀ“
mark”]。
[0139]
示例性的,可以用字母对第一数组和第二数组进行标记,例如标记第一 数组为a,标记第二数组为b。
[0140]
在本实施例中,可以取第一数组与第二数组的交集,标记为第三数组。 示例性的,第三数组为[“title”,“desc”]。在取交集之后,第一数组中 剩余的“tag”可以存入到第四数组中,第二数组中剩余的“mark”可以存入 到第五数组中。由此可以确定出第三数组、第四数组中的文本信息归属于第 一类型文件,第三数组和第五数组中的文本信息归属于第二类型文件。然后 可以使用随机函数将第三数组、第四数组和第五数组中的每个文本信息映射 成随机标识(例如id)。
[0141]
示例性的,在遍历第一类型文件对应的第一语法树时,如果遇到第一目 标节点且其取值为“.title”/“.desc”/“.tag”,则从第三数组或第四数 组中取出标识,将该值替换为对应的标识,直到遍历完整个第一语法树,完 成文本信息的替换。
[0142]
本技术实施例通过将第一类型文件/第二类型文件中的文本信息存储到 不同的数组中,并对不同的数组进行标记,在后续进行文本信息的替换时, 能够避免出现混淆,保证替换过程的准确性。
[0143]
在一些实施例中,每一个文本信息对应的标识可以通过预设随机函数生 成,示例性的,以类名“title”为例,其对应的标识可以为qq4hh52lc6。
[0144]
可选的,在其他实施例中,每一个目标文件夹都有对应的文件夹路径, 且不同目标文件夹的文件夹路径是不相同的,示例性的,可以根据每个目标 文件夹的文件夹路径来确定每个目标文件夹中第一类型文件的文本信息对应 的标识。
[0145]
例如,目标文件夹中包括有第一类型文件,该第一类型文件具有三个类 名“.title”,“.desc”,“.tag”,则每一个类名对应的标识可以是该目 标文件夹的文件夹路径再追加一个n为的随机数组成。
[0146]
示例性的,还可以获取每个第一类型文件的文件id,利用文件id来作 为第一类型文件中的文本信息的标识。
[0147]
其中,第一类型文件中的每个文本信息对应的标识应该是不相同的。
[0148]
本技术实施例通过将第一类型文件/第二类型文件中的文本信息替换为 对应的标识,能够对第一类型文件/第二类型文件起到加密效果,防止代码内 容泄露。
[0149]
下述为本技术装置实施例,可以用于执行本技术方法实施例。对于本申 请装置实施例中未披露的细节,请参照本技术方法实施例。
[0150]
图4为本技术实施例提供的文本处理装置的结构示意图。该文本处理装 置可以集成在计算机设备中,也可以独立于计算机设备且与计算机设备协同 实现本方案。如图4所示,该文本处理装置40具体可以包括获取模块41、 确定模块42和替换模块43。
[0151]
其中,获取模块41用于获取目标文件夹中的第一类型文件。确定模块 42用于提取第一类型文件中的文本信息,获取用于标识文本信息的第一标识。 替换模块43用于将第一类型文件中的文本信息替换为第一标识。
[0152]
其中,第一类型文件为使用层叠样式表类型的计算机语言编写得到的, 目标文件夹中至少还包含有第二类型文件,第二类型文件为使用非层叠样式 表类型的计算机语言编写得到的且第二类型文件中包含有与第一类型文件相 同的文本信息。
[0153]
在一些实施例中,上述文本处理装置还可以包括文件夹遍历模块,用于:
[0154]
获取每个目标文件夹的文件夹路径,存储至预设数组中;
[0155]
遍历预设数组中每个文件夹路径,获取每个目标文件夹中每个文件的文 件名;
[0156]
根据每个文件的文件名,得到每个目标文件夹中的第一类型文件和第二 类型文件。
[0157]
在一些实施例中,上述确定模块42具体可以用于:
[0158]
将第一类型文件转译为第一语法树;
[0159]
遍历第一语法树中的节点,根据预设样式规则,从第一语法树的节点中 确定出第一目标节点;
[0160]
获取第一目标节点中的数值,作为第一类型文件的文本信息。
[0161]
其中,第一语法树包括有多个节点,每个节点用于指示第一类型文件中 计算机语言的语法结构。
unit,cpu)或其它可以调用程序代码的处理器。再如, 这些模块可以集成在一起,以片上系统(system-on-a-chip,soc)的形式实 现。
[0186]
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意 组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形 式实现。计算机程序产品包括一个或多个计算机指令。在计算机上加载和执 行计算机程序指令时,全部或部分地产生按照本技术实施例的流程或功能。 计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。 计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储 介质向另一个计算机可读存储介质传输,例如,计算机指令可以从一个网站 站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用 户线(dsl))或无线(例如红外、无线、微波等)方式向另一个网站站点、 计算机、服务器或数据中心进行传输。计算机可读存储介质可以是计算机能 够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据 中心等数据存储设备。可用介质可以是磁性介质,(例如软盘、硬盘、磁带)、 光介质(例如dvd)、或者半导体介质(例如固态硬盘solid state disk(ssd)) 等。
[0187]
图5为本技术实施例提供的计算机设备的结构示意图。如图5所示, 该计算机设备50包括:至少一个处理器51、存储器52、总线53及通信接口 54。
[0188]
其中:处理器51、通信接口54以及存储器52通过总线53完成相互间 的通信。
[0189]
通信接口54用于与其它设备进行通信。该通信接口54包括用于进行数 据传输的通信接口以及用于进行人机交互的显示界面或者操作界面等。
[0190]
处理器51,用于执行存储器52中存储的计算机执行指令,具体可以执 行上述实施例中所描述的方法中的相关步骤。
[0191]
处理器51可能是中央处理器,计算机设备包括的一个或多个处理器,可 以是同一类型的处理器,如一个或多个cpu;也可以是不同类型的处理器, 如一个或多个cpu以及一个或多个asic。
[0192]
存储器52,用于存放计算机执行指令。存储器可能包含高速ram存储 器,也可能还包括非易失性存储器,例如至少一个磁盘存储器。
[0193]
本实施例还提供一种可读存储介质,可读存储介质中存储有计算机指令, 当计算机设备的至少一个处理器执行该计算机指令时,计算机设备执行上述 的各种实施方式提供的文本处理方法。
[0194]
本实施例还提供一种程序产品,该程序产品包括计算机指令,该计算机 指令存储在可读存储介质中。计算机设备的至少一个处理器可以从可读存储 介质读取该计算机指令,至少一个处理器执行该计算机指令使得计算机设备 实施上述的各种实施方式提供的文本处理方法。
[0195]
本技术中,“至少一个”是指一个或者多个,“多个”是指两个或两个以 上。“和/或”,描述关联对象的关联关系,表示可以存在三种关系,例如,a 和/或b,可以表示:单独存在a,同时存在a和b,单独存在b的情况,其 中a,b可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或
”ꢀ
的关系;在公式中,字符“/”,表示前后关联对象是一种“相除”的关系。“以 下至少一项(个)”或其类似表达,是指的这些项中的任意组合,包括单项(个) 或复数项(个)的任意组合。例如,a,b,或c中的至少一项(个),可以表 示:a,b,c,a-b,a-c,b-c,
或a-b-c,其中,a,b,c可以是单个,也可以 是多个。
[0196]
可以理解的是,在本技术实施例中涉及的各种数字编号仅为描述方便进 行的区分,并不用来限制本技术的实施例的范围。在本技术的实施例中,上 述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以 其功能和内在逻辑确定,而不应对本技术的实施例的实施过程构成任何限定。
[0197]
最后应说明的是:以上各实施例仅用以说明本技术的技术方案,而非对 其限制;尽管参照前述各实施例对本技术进行了详细的说明,本领域的普通 技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改, 或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并 不使相应技术方案的本质脱离本技术各实施例技术方案的范围。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1