CN111783401A - 字符串处理方法及装置、计算机存储介质、电子设备 - Google Patents

字符串处理方法及装置、计算机存储介质、电子设备 Download PDF

Info

Publication number
CN111783401A
CN111783401A CN202010716062.8A CN202010716062A CN111783401A CN 111783401 A CN111783401 A CN 111783401A CN 202010716062 A CN202010716062 A CN 202010716062A CN 111783401 A CN111783401 A CN 111783401A
Authority
CN
China
Prior art keywords
character string
key value
processing unit
identifier
original
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202010716062.8A
Other languages
English (en)
Other versions
CN111783401B (zh
Inventor
黄富华
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Netease Hangzhou Network Co Ltd
Original Assignee
Netease Hangzhou Network Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Netease Hangzhou Network Co Ltd filed Critical Netease Hangzhou Network Co Ltd
Priority to CN202010716062.8A priority Critical patent/CN111783401B/zh
Publication of CN111783401A publication Critical patent/CN111783401A/zh
Application granted granted Critical
Publication of CN111783401B publication Critical patent/CN111783401B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F40/00Handling natural language data
    • G06F40/10Text processing
    • G06F40/12Use of codes for handling textual entities
    • G06F40/151Transformation

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Health & Medical Sciences (AREA)
  • Artificial Intelligence (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Computational Linguistics (AREA)
  • General Health & Medical Sciences (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Document Processing Apparatus (AREA)

Abstract

本公开涉及计算机技术领域,提供了一种字符串处理方法、字符串处理装置、计算机存储介质、电子设备,其中,字符串处理方法包括:第一处理单元获取原始字符串,原始字符串为包括至少一组键值对的字符串,至少一组键值对包含第一关键字和第一键值;当检测出第一键值中包含特定字符时,第一处理单元向第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串;第一处理单元将目标字符串发送至第二处理单元,以使第二处理单元根据分割标识符对目标字符串进行解析以至少获得第一关键字和第一键值。本公开中的方法能够解决字符串转换为对象时转换出错的技术问题,简化处理步骤,提高字符串处理效率。

Description

字符串处理方法及装置、计算机存储介质、电子设备
技术领域
本公开涉及计算机技术领域,特别涉及一种字符串处理方法、字符串处理装置、计算机存储介质及电子设备。
背景技术
JSON(Javascript Object Notation,JS对象简谱)是一种轻量级的数据交换格式。它基于ECMAScript(欧洲计算机协会制定的js规范)的一个子集,采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成,并有效地提升网络传输效率。
目前,一般是通过正则表达式来转义特殊字符,进而,将特殊字符转为JSON对象,然而,其转换方式比较繁琐,需要把所有需要转换的特殊字符都进行匹配。然而,因为特殊字符的数量是无法预估的,所以经常会出现遗漏,导致转换出错。
鉴于此,本领域亟需开发一种新的字符串处理方法及装置。
需要说明的是,上述背景技术部分公开的信息仅用于加强对本公开的背景的理解。
发明内容
本公开的目的在于提供一种字符串处理方法、字符串处理装置、计算机存储介质及电子设备,进而至少在一定程度上避免了相关技术中将字符串转换为JSON对象时出错的缺陷。
本公开的其他特性和优点将通过下面的详细描述变得显然,或部分地通过本公开的实践而习得。
根据本公开的第一方面,提供一种字符串处理方法,包括:第一处理单元获取原始字符串,所述原始字符串为包括至少一组键值对的字符串,所述至少一组键值对包含第一关键字和第一键值;当检测出所述第一键值中包含特定字符时,第一处理单元向所述第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串;第一处理单元将所述目标字符串发送至第二处理单元,以使所述第二处理单元根据所述分割标识符对所述目标字符串进行解析以至少获得所述第一关键字和所述第一键值。
在本公开的示例性实施例中,所述方法还包括:将所述第一键值的首字符确定为所述第一键值的起始位置,并在所述起始位置之前添加所述分割标识符;以及将所述第一键值的尾字符确定为所述第一键值的终止位置,并在所述终止位置之后添加所述分割标识符。
在本公开的示例性实施例中,所述分割标识符包括第一分割标识符和第二分割标识符;所述第一处理单元向所述第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串,包括:所述第一处理单元向所述第一键值的起始位置添加所述第一分割标识符;以及所述第一处理单元向所述第一键值的终止位置添加第二分割标识符,得到所述目标字符串。
在本公开的示例性实施例中,所述方法还包括:第一处理单元获取富文本编辑器对原始富文本进行转换得到的网页格式文件;第一处理单元确定所述网页格式文件中包含的关键字及与各所述关键字对应的键值;第一处理单元对各所述关键字与所述键值进行拼接,得到所述原始字符串。
在本公开的示例性实施例中,所述特定字符包括标点符号和/或换行符。
在本公开的示例性实施例中,所述方法还包括:当检测出所述第一键值中不包含所述特定字符时,第一处理单元将所述原始字符串发送至第二处理单元,以使所述第二处理单元将所述原始字符串转换为目标对象。
根据本公开的第二方面,提供一种字符串处理装置,包括:第一处理单元,用于获取原始字符串,所述原始字符串为包括至少一组键值对的字符串,所述至少一组键值对包含第一关键字和第一键值;当检测出所述第一键值中包含特定字符时,向所述第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串,并将所述目标字符串发送至第二处理单元;第二处理单元,用于根据所述分割标识符对所述目标字符串进行解析以至少获得所述第一关键字和所述第一键值。
在本公开的示例性实施例中,所述装置还包括拼接单元;所述拼接单元用于获取富文本编辑器对原始富文本进行转换得到的网页格式文件;确定所述网页格式文件中包含的关键字及与各所述关键字对应的键值;对各所述关键字与所述键值进行拼接,得到所述原始字符串。
根据本公开的第三方面,提供一种计算机存储介质,其上存储有计算机程序,所述计算机程序被处理器执行时实现上述第一方面所述的字符串处理方法。
根据本公开的第四方面,提供一种电子设备,包括:处理器;以及存储器,用于存储所述处理器的可执行指令;其中,所述处理器配置为经由执行所述可执行指令来执行上述第一方面所述的字符串处理方法。
由上述技术方案可知,本公开示例性实施例中的字符串处理方法、字符串处理装置、计算机存储介质及电子设备至少具备以下优点和积极效果:
在本公开的一些实施例所提供的技术方案中,一方面,第一处理单元获取原始字符串(原始字符串为包括至少一组键值对的字符串,至少一组键值对包含第一关键字和第一键值),当检测出所述第一键值中包含特定字符时,第一处理单元向所述第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串,能够将可能导致后续对象转换出错的第一键值标识出来,便于后续进行相关分离操作,保证后续对象转换的成功进行,提高处理器的工作效率。另一方面,第一处理单元将所述目标字符串发送至第二处理单元,以使所述第二处理单元根据所述分割标识符对所述目标字符串进行解析以至少获得所述第一关键字和所述第一键值,能够解决相关技术中通过正则表达式一一对特殊字符进行匹配所导致的步骤繁琐、容易导致字符遗漏,进而导致字符串转换为对象时出错的技术问题,简化处理步骤,提高处理效率。
本公开应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本公开。
附图说明
此处的附图被并入说明书中并构成本说明书的一部分,示出了符合本公开的实施例,并与说明书一起用于解释本公开的原理。显而易见地,下面描述中的附图仅仅是本公开的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1示出本公开一示例性实施例中字符串处理方法的流程示意图;
图2示出本公开一示例性实施例中字符串处理方法的子流程示意图;
图3示出本公开一示例性实施例中字符串处理方法的子流程示意图;
图4示出本公开一示例性实施例中字符串处理方法的整体交互流程示意图;
图5示出本公开示例性实施例中字符串处理装置的结构示意图;
图6示出本公开示例性实施例中计算机存储介质的结构示意图;
图7示出本公开示例性实施例中电子设备的结构示意图。
具体实施方式
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。所描述的特征、结构或特性可以以任何合适的方式结合在一个或更多实施方式中。在下面的描述中,提供许多具体细节从而给出对本公开的实施方式的充分理解。然而,本领域技术人员将意识到,可以实践本公开的技术方案而省略所述特定细节中的一个或更多,或者可以采用其它的方法、组元、装置、步骤等。在其它情况下,不详细示出或描述公知技术方案以避免喧宾夺主而使得本公开的各方面变得模糊。
本说明书中使用用语“一个”、“一”、“该”和“所述”用以表示存在一个或多个要素/组成部分/等;用语“包括”和“具有”用以表示开放式的包括在内的意思并且是指除了列出的要素/组成部分/等之外还可存在另外的要素/组成部分/等;用语“第一”和“第二”等仅作为标记使用,不是对其对象的数量限制。
此外,附图仅为本公开的示意性图解,并非一定是按比例绘制。图中相同的附图标记表示相同或类似的部分,因而将省略对它们的重复描述。附图中所示的一些方框图是功能实体,不一定必须与物理或逻辑上独立的实体相对应。
目前,一般是通过正则表达式来转义特殊字符,进而,将特殊字符转为JSON对象,然而,其转换方式比较繁琐,需要把所有需要转换的特殊的字符都进行匹配。然而,因为特殊字符的数量是无法预估的,所以经常会出现遗漏,导致转换出错。
在本公开的实施例中,首先提供了一种字符串处理方法,至少在一定程度上克服相关技术中将字符串转换为JSON对象时出错的缺陷。
图1示出本公开一示例性实施例中字符串处理方法的流程示意图,该字符串处理方法的执行主体可以是对字符串进行处理的服务器。
参考图1,根据本公开的一个实施例的字符串处理方法包括以下步骤:
步骤S110,第一处理单元获取原始字符串,原始字符串为包括至少一组键值对的字符串,至少一组键值对包含第一关键字和第一键值;
步骤S120,当检测出第一键值中包含特定字符时,第一处理单元向第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串;
步骤S130,第一处理单元将目标字符串发送至第二处理单元,以使第二处理单元根据分割标识符对目标字符串进行解析以至少获得第一关键字和第一键值。
在图1所示实施例所提供的技术方案中,一方面,第一处理单元获取原始字符串(原始字符串为包括至少一组键值对的字符串,至少一组键值对包含第一关键字和第一键值),当检测出第一键值中包含特定字符时,第一处理单元向第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串,能够将可能导致后续对象转换出错的第一键值标识出来,便于后续进行相关分离操作,保证后续对象转换的成功进行,提高处理器的工作效率。另一方面,第一处理单元将目标字符串发送至第二处理单元,以使第二处理单元根据分割标识符对目标字符串进行解析以至少获得第一关键字和第一键值,能够解决相关技术中通过正则表达式一一对特殊字符进行匹配所导致的步骤繁琐、容易导致字符遗漏,进而导致字符串转换为对象时出错的技术问题,简化处理步骤,提高处理效率。
以下对图1中的各个步骤的具体实现过程进行详细阐述:
在本公开的示例性实施例中,第一处理单元可以是后端服务器,后端服务器是一般是为前端服务器和客户端提供数据,并进行数据管理的服务器。
第二处理单元可以是前端服务器,前端服务器即网站前台部分,运行在PC(Personal Computer,个人计算机,简称:PC)端,移动端等浏览器上展现给用户浏览的网页,随着互联网技术的发展,HTML5(HyperText Markup Language,超文本标记语言,简称:HTML),CSS3(Cascading Style Sheets,层叠样式表,简称:CSS),前端框架的应用,跨平台响应式网页设计能够适应各种屏幕分辨率,完美的动效设计,给用户带来极高的用户体验。
在步骤S110中,第一处理单元获取原始字符串。
其中,原始字符串为包括至少一组键值对的字符串,至少一组键值对包含第一关键字和第一键值。
第一处理单元可以获取原始字符串,具体的,可以参考图2,图2示出本公开一示例性实施例中字符串处理方法的子流程示意图,具体示出第一处理单元获取原始字符串的子流程示意图,包含步骤S201-S203,以下结合图2对步骤S110进行解释。
在步骤S201中,第一处理单元获取富文本编辑器对原始富文本进行转换得到的网页格式文件。
示例性的,可以先获取原始富文本(例如:各个网站的新闻、公告等富文本格式的文本),并将其输入富文本编辑器中,以通过富文本编辑器将上述原始富文本转换为网页格式文件(例如:HTML格式文件),进而,第一处理单元可以获取上述转换得到的网页格式文件。
其中,富文本格式(Rich Text Format,多文本格式,简称:RTF)是由微软公司开发的跨平台文档格式。大多数的文字处理软件都能读取和保存RTF文档。富文本作为一种类似DOC格式(Word文档)的文件,有很好的兼容性,使用Windows“附件”中的“写字板”就能打开并进行编辑。
富文本编辑器(Rich Text Editor,简称:RTE),是一种可内嵌于浏览器,所见即所得的文本编辑器,例如:kindeditor、fckeditor。富文本编辑器不同于文本编辑器,程序员可到网上下载免费的富文本编辑器内嵌于自己的网站或程序里,方便用户编辑文章或信息。
在步骤S202中,第一处理单元确定网页格式文件中包含的关键字及与各关键字对应的键值。
进而,第一处理单元可以确定上述网页格式文件中所包含的关键字及与各关键字对应的键值。
具体的,可以基于javascript的方法确定上述网页格式文件中包含的关键字及与各关键字对应的键值,例如:编写javascript程序代码以自动查找上述网页格式文件中包含的关键字及与各关键字对应的键值。其中,关键字又称为属性,二维表的一列称为一个关键字(属性),在数据库中的表中的每一列的每一个名称,就是关键字。各个关键字对应的属性值就是键值。键值的类型可以是数字、字符串、数组、对象等。
示例性的,可以参考表1,表1示出从网页格式文件中确定出的关键字及其对应的键值:
表1
关键字 键值
name article
content <html><body><div>241325426”sdf23r2r</div></body></html>
在步骤S203中,第一处理单元对各关键字与键值进行拼接,得到原始字符串。
在确定出各个关键字及与关键字对应的键值之后,第一处理单元可以对各关键字与键值进行拼接,得到原始字符串(JSON字符串(JavaScript Object Notation,简称:JSON,JavaScript对象表示法))。示例性的,得到原始字符串可以是“{“name”:“article”,“content”:“<html><body><div>241325426”sdf23r2r</div></body></html>”}”。
从而,原始字符串为包括至少一组键值对的字符串,至少一组键值对包含第一关键字和第一键值。以上述原始字符串“{“name”:“article”,“content”:“<html><body><div>241325426”sdf23r2r</div></body></html>”}”为例进行说明,原始字符串为包含两组键值对的字符串,第一组键值对为:name-article,第一关键字“name”对应的第一键值为“article”;另一组键值对为content-<html><body><div>241325426”sdf23r2r</div></body></html>,第一关键字“content”对应的第一键值为“<html><body><div>241325426”sdf23r2r</div></body></html>”。
继续参考图1,在步骤S120中,当检测出第一键值中包含特定字符时,第一处理单元向第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串。
在得到原始字符串之后,第一处理单元可以检测第一键值中是否包含特定字符,示例性的,特定字符可以包括标点符号(例如:双引号,单引号、破折号等)和/或换行符。当检测出原始字符串中所有的第一键值中都不包含特定字符时,第一处理单元可以直接将原始字符串发送至第二处理单元,以使得第二单元将上述原始字符串转换为目标对象(JSON对象)。
而参照上述步骤S203的相关解释可知,第一键值“article”中不包含特定字符,而第一键值“<html><body><div>241325426”sdf23r2r</div></body></html>”中包含特定字符(双引号)。
进而,第一处理单元可以向上述第一键值“<html><body><div>241325426”sdf23r2r</div></body></html>”的起始位置和/或终止位置添加分割标识符,得到目标字符串。需要说明的是,分割标识符可以是第一处理单元与第二处理单元预先约定好的指定标识符,从而,在接收到上述分割标识符时,第二处理单元可以根据上述分割标识符快速分离出包含特定字符的第一键值。
具体的,可以参考图3,图3示出本公开一示例性实施例中字符串处理方法的子流程示意图,具体示出第一处理单元向第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串的子流程示意图,包含步骤S301-步骤S302,以下结合图3对步骤S120进行解释。
在步骤S301中,将第一键值的首字符确定为第一键值的起始位置,并在起始位置之前添加分割标识符。
示例性的,可以将第一键值的首字符“<”确定为第一键值的起始位置,并在起始位置之前添加分割标识符(例如:第一分割标识符“***”)。
在步骤S302中,将第一键值的尾字符确定为第一键值的终止位置,并在终止位置之后添加分割标识符。
可以将第一键值的尾字符“>”确定为第一键值的终止位置,并在终止位置之后添加上述分割标识符(例如:第二分割标识符“***”或第二分割标识符“&&”)。需要说明的是,第二分割标识符可以与第一分割标识符相同,也可以与第一分割标识符不相同,均可以根据实际情况自行设定,上述分割标识符的数量和具体符号类型也可以根据实际情况自行设定,均属于本公开的保护范围。
从而,示例性的,添加了分割标识符之后的第一键值变为:“***<html><body><div>241325426”sdf23r2r</div></body></html>***”。进而,得到的目标字符串可以是“{“name”:“article”,“***<html><body><div>241325426”sdf23r2r</div></body></html>***”}”。
继续参考图1,在步骤S130中,第一处理单元将目标字符串发送至第二处理单元,以使第二处理单元根据分割标识符对目标字符串进行解析以至少获得第一关键字和第一键值。
在得到上述目标字符串之后,第一处理单元可以将上述约定好的分割标识符和上述目标字符串发送至第二处理单元,以使得第二处理单元根据分割标识符对目标字符串进行解析以至少获得第一关键字和第一键值。
示例性的,参照上述步骤S302的相关解释,第二处理单元可以根据上述分割标识符,基于split方法将包含特定字符的第一键值“<html><body><div>241325426”sdf23r2r</div></body></html>”从目标字符串“{“name”:“article”,“content”:“***<html><body><div>241325426”sdf23r2r</div></body></html>***”}”中分离出去,获得第一关键字“content”及其对应的第一键值“***<html><body><div>241325426”sdf23r2r</div></body></html>***”,此外,第二处理单元还可以直接对目标字符串进行解析以获得第一关键字“name”对应的第一键值“article”。
在将包含特定字符的第一键值分离出去之后,剩余的目标字符串变为:“{“name”:“article”,“content”:“”}”,进而,第二处理单元可以通过JSON.parse对上述剩余的目标字符串进行反序列化处理,以将上述剩余的目标字符串转换为目标对象。上述目标对象可以是JSON对象,目标对象(Object)就是客观世界中存在的人、事、物体等实体在计算机逻辑中的映射。
反序列化(Deserialization)与序列化相对,序列化是把对象转换成可传输的字符串或二进制数据,反序列化就是把字符串或二进制数据还原成对象。这两个过程结合起来,可以轻松地存储和传输数据。
此时,上述剩余的目标字符串中不再包含上述特定字符,因而,可以直接将其转换为JSON对象,避免了转换失败的问题。
示例性的,可以参考图4,图4示出本公开一示例性实施例中字符串处理方法的整体交互流程图,包含步骤S401-S406,以下结合图4对具体的实施方式进行解释。
在步骤S401中,第一处理单元将原始富文本转换为原始字符串;
在步骤S402中,第一处理单元确定包含特定字符的第一键值;
在步骤S403中,第一处理单元为第一键值添加分割标识符,得到目标字符串;
在步骤S404中,第一处理单元将分割标识符和目标字符串发送至第二处理单元;
在步骤S405中,第二处理单元接收分割标识符和目标字符串,并根据分割标识符将包含特定字符的第一键值从目标字符串中分离出来;
在步骤S406中,将剩余的目标字符串转换为目标对象。
基于上述技术方案,本公开能够解决相关技术中通过正则表达式一一对特殊字符进行匹配所导致的步骤繁琐、容易导致字符遗漏,进而导致字符串转换为对象时出错的技术问题,简化处理步骤,提高处理效率。
本公开还提供了一种字符串处理装置,图5示出本公开示例性实施例中字符串处理装置的结构示意图;如图5所示,字符串处理装置500可以包括第一处理单元501、第二处理单元502和拼接单元503。其中:
第一处理单元501,用于获取原始字符串,原始字符串为包括至少一组键值对的字符串,至少一组键值对包含第一关键字和第一键值。
在本公开的示例性实施例中,第一处理单元用于当检测出第一键值中包含特定字符时,向第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串,并将目标字符串发送至第二处理单元。
在本公开的示例性实施例中,特定字符包括标点符号和/或换行符。
在本公开的示例性实施例中,第一处理单元用于当检测出第一键值中不包含特定字符时,第一处理单元将原始字符串发送至第二处理单元,以使第二处理单元将原始字符串转换为目标对象。
在本公开的示例性实施例中,第一处理单元用于将第一键值的首字符确定为第一键值的起始位置,并在起始位置之前添加分割标识符;以及将第一键值的尾字符确定为第一键值的终止位置,并在终止位置之后添加分割标识符。
在本公开的示例性实施例中,分割标识符包括第一分割标识符和第二分割标识符;第一处理单元用于向第一键值的起始位置添加第一分割标识符;以及第一处理单元向第一键值的终止位置添加第二分割标识符,得到目标字符串。
第二处理单元502,用于根据分割标识符对目标字符串进行解析以至少获得第一关键字和第一键值。
拼接单元503,用于获取富文本编辑器对原始富文本进行转换得到的网页格式文件;确定网页格式文件中包含的关键字及与各关键字对应的键值;对各关键字与键值进行拼接,得到原始字符串。
上述字符串处理装置中各单元的具体细节已经在对应的字符串处理方法中进行了详细的描述,因此此处不再赘述。
应当注意,尽管在上文详细描述中提及了用于动作执行的设备的若干模块或者单元,但是这种划分并非强制性的。实际上,根据本公开的实施方式,上文描述的两个或更多模块或者单元的特征和功能可以在一个模块或者单元中具体化。反之,上文描述的一个模块或者单元的特征和功能可以进一步划分为由多个模块或者单元来具体化。
此外,尽管在附图中以特定顺序描述了本公开中方法的各个步骤,但是,这并非要求或者暗示必须按照该特定顺序来执行这些步骤,或是必须执行全部所示的步骤才能实现期望的结果。附加的或备选的,可以省略某些步骤,将多个步骤合并为一个步骤执行,以及/或者将一个步骤分解为多个步骤执行等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、移动终端、或者网络设备等)执行根据本公开实施方式的方法。
在本公开示例性实施方式中,还提供了一种能够实现上述方法的计算机存储介质。其上存储有能够实现本说明书上述方法的程序产品。在一些可能的实施例中,本公开的各个方面还可以实现为一种程序产品的形式,其包括程序代码,当所述程序产品在终端设备上运行时,所述程序代码用于使所述终端设备执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。
参考图6所示,描述了根据本公开的实施方式的用于实现上述方法的程序产品600,其可以采用便携式紧凑盘只读存储器(CD-ROM)并包括程序代码,并可以在终端设备,例如个人电脑上运行。然而,本公开的程序产品不限于此,在本文件中,可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。
所述程序产品可以采用一个或多个可读介质的任意组合。可读介质可以是可读信号介质或者可读存储介质。可读存储介质例如可以为但不限于电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。可读存储介质的更具体的例子(非穷举的列表)包括:具有一个或多个导线的电连接、便携式盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。
计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了可读程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。可读信号介质还可以是可读存储介质以外的任何可读介质,该可读介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。
可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于无线、有线、光缆、RF等等,或者上述的任意合适的组合。
可以以一种或多种程序设计语言的任意组合来编写用于执行本公开操作的程序代码,所述程序设计语言包括面向对象的程序设计语言—诸如Java、C++等,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算设备上执行、部分地在用户设备上执行、作为一个独立的软件包执行、部分在用户计算设备上部分在远程计算设备上执行、或者完全在远程计算设备或服务器上执行。在涉及远程计算设备的情形中,远程计算设备可以通过任意种类的网络,包括局域网(LAN)或广域网(WAN),连接到用户计算设备,或者,可以连接到外部计算设备(例如利用因特网服务提供商来通过因特网连接)。
此外,在本公开的示例性实施例中,还提供了一种能够实现上述方法的电子设备。
所属技术领域的技术人员能够理解,本公开的各个方面可以实现为系统、方法或程序产品。因此,本公开的各个方面可以具体实现为以下形式,即:完全的硬件实施方式、完全的软件实施方式(包括固件、微代码等),或硬件和软件方面结合的实施方式,这里可以统称为“电路”、“模块”或“系统”。
下面参照图7来描述根据本公开的这种实施方式的电子设备700。图7显示的电子设备700仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图7所示,电子设备700以通用计算设备的形式表现。电子设备700的组件可以包括但不限于:上述至少一个处理单元710、上述至少一个存储单元720、连接不同系统组件(包括存储单元720和处理单元710)的总线730以及显示单元740。
其中,所述存储单元存储有程序代码,所述程序代码可以被所述处理单元710执行,使得所述处理单元710执行本说明书上述“示例性方法”部分中描述的根据本公开各种示例性实施方式的步骤。例如,所述处理单元710可以执行如图1中所示的:步骤S110,第一处理单元获取原始字符串,原始字符串为包括至少一组键值对的字符串,至少一组键值对包含第一关键字和第一键值;步骤S120,当检测出第一键值中包含特定字符时,第一处理单元向第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串;步骤S130,第一处理单元将目标字符串发送至第二处理单元,以使第二处理单元根据分割标识符对目标字符串进行解析以至少获得第一关键字和第一键值。
存储单元720可以包括易失性存储单元形式的可读介质,例如随机存取存储单元(RAM)7201和/或高速缓存存储单元7202,还可以进一步包括只读存储单元(ROM)7203。
存储单元720还可以包括具有一组(至少一个)程序模块7205的程序/实用工具7204,这样的程序模块7205包括但不限于:操作系统、一个或者多个应用程序、其它程序模块以及程序数据,这些示例中的每一个或某种组合中可能包括网络环境的实现。
总线730可以为表示几类总线结构中的一种或多种,包括存储单元总线或者存储单元控制器、外围总线、图形加速端口、处理单元或者使用多种总线结构中的任意总线结构的局域总线。
电子设备700也可以与一个或多个外部设备800(例如键盘、指向设备、蓝牙设备等)通信,还可与一个或者多个使得用户能与该电子设备700交互的设备通信,和/或与使得该电子设备700能与一个或多个其它计算设备进行通信的任何设备(例如路由器、调制解调器等等)通信。这种通信可以通过输入/输出(I/O)接口750进行。并且,电子设备700还可以通过网络适配器760与一个或者多个网络(例如局域网(LAN),广域网(WAN)和/或公共网络,例如因特网)通信。如图所示,网络适配器760通过总线730与电子设备700的其它模块通信。应当明白,尽管图中未示出,可以结合电子设备700使用其它硬件和/或软件模块,包括但不限于:微代码、设备驱动器、冗余处理单元、外部磁盘驱动阵列、RAID系统、磁带驱动器以及数据备份存储系统等。
通过以上的实施方式的描述,本领域的技术人员易于理解,这里描述的示例实施方式可以通过软件实现,也可以通过软件结合必要的硬件的方式来实现。因此,根据本公开实施方式的技术方案可以以软件产品的形式体现出来,该软件产品可以存储在一个非易失性存储介质(可以是CD-ROM,U盘,移动硬盘等)中或网络上,包括若干指令以使得一台计算设备(可以是个人计算机、服务器、终端装置、或者网络设备等)执行根据本公开实施方式的方法。
此外,上述附图仅是根据本公开示例性实施例的方法所包括的处理的示意性说明,而不是限制目的。易于理解,上述附图所示的处理并不表明或限制这些处理的时间顺序。另外,也易于理解,这些处理可以是例如在多个模块中同步或异步执行的。
本领域技术人员在考虑说明书及实践这里公开的发明后,将容易想到本公开的其他实施例。本申请旨在涵盖本公开的任何变型、用途或者适应性变化,这些变型、用途或者适应性变化遵循本公开的一般性原理并包括本公开未公开的本技术领域中的公知常识或惯用技术手段。说明书和实施例仅被视为示例性的,本公开的真正范围和精神由权利要求指出。

Claims (10)

1.一种字符串处理方法,其特征在于,包括:
第一处理单元获取原始字符串,所述原始字符串为包括至少一组键值对的字符串,所述至少一组键值对包含第一关键字和第一键值;
当检测出所述第一键值中包含特定字符时,第一处理单元向所述第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串;
第一处理单元将所述目标字符串发送至第二处理单元,以使所述第二处理单元根据所述分割标识符对所述目标字符串进行解析以至少获得所述第一关键字和所述第一键值。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
将所述第一键值的首字符确定为所述第一键值的起始位置,并在所述起始位置之前添加所述分割标识符;以及
将所述第一键值的尾字符确定为所述第一键值的终止位置,并在所述终止位置之后添加所述分割标识符。
3.根据权利要求2所述的方法,其特征在于,所述分割标识符包括第一分割标识符和第二分割标识符;
所述第一处理单元向所述第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串,包括:
所述第一处理单元向所述第一键值的起始位置添加所述第一分割标识符;以及
所述第一处理单元向所述第一键值的终止位置添加第二分割标识符,得到所述目标字符串。
4.根据权利要求1至3任一项所述的方法,其特征在于,所述方法还包括:
第一处理单元获取富文本编辑器对原始富文本进行转换得到的网页格式文件;
第一处理单元确定所述网页格式文件中包含的关键字及与各所述关键字对应的键值;
第一处理单元对各所述关键字与所述键值进行拼接,得到所述原始字符串。
5.根据权利要求1至3任一项所述的方法,其特征在于,所述特定字符包括标点符号和/或换行符。
6.根据权利要求1所述的方法,其特征在于,所述方法还包括:
当检测出所述第一键值中不包含所述特定字符时,第一处理单元将所述原始字符串发送至第二处理单元,以使所述第二处理单元将所述原始字符串转换为目标对象。
7.一种字符串处理装置,其特征在于,包括:
第一处理单元,用于获取原始字符串,所述原始字符串为包括至少一组键值对的字符串,所述至少一组键值对包含第一关键字和第一键值;
当检测出所述第一键值中包含特定字符时,向所述第一键值的起始位置和/或终止位置添加分割标识符,得到目标字符串,并将所述目标字符串发送至第二处理单元;
第二处理单元,用于根据所述分割标识符对所述目标字符串进行解析以至少获得所述第一关键字和所述第一键值。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括拼接单元;
所述拼接单元用于获取富文本编辑器对原始富文本进行转换得到的网页格式文件;确定所述网页格式文件中包含的关键字及与各所述关键字对应的键值;对各所述关键字与所述键值进行拼接,得到所述原始字符串。
9.一种计算机存储介质,其上存储有计算机程序,其特征在于,所述计算机程序被处理器执行时实现权利要求1~6中任意一项所述的字符串处理方法。
10.一种电子设备,其特征在于,包括:
处理器;以及
存储器,用于存储所述处理器的可执行指令;
其中,所述处理器配置为经由执行所述可执行指令来执行权利要求1~6中任意一项所述的字符串处理方法。
CN202010716062.8A 2020-07-23 2020-07-23 字符串处理方法及装置、计算机存储介质、电子设备 Active CN111783401B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010716062.8A CN111783401B (zh) 2020-07-23 2020-07-23 字符串处理方法及装置、计算机存储介质、电子设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010716062.8A CN111783401B (zh) 2020-07-23 2020-07-23 字符串处理方法及装置、计算机存储介质、电子设备

Publications (2)

Publication Number Publication Date
CN111783401A true CN111783401A (zh) 2020-10-16
CN111783401B CN111783401B (zh) 2024-03-15

Family

ID=72763914

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010716062.8A Active CN111783401B (zh) 2020-07-23 2020-07-23 字符串处理方法及装置、计算机存储介质、电子设备

Country Status (1)

Country Link
CN (1) CN111783401B (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560395A (zh) * 2020-12-24 2021-03-26 凌云光技术股份有限公司 一种用于文本中包含数据进行格式化的装置及方法
CN113239156A (zh) * 2021-06-04 2021-08-10 网易(杭州)网络有限公司 文本处理方法、装置、计算设备以及介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1239793A (zh) * 1998-06-19 1999-12-29 富士通株式会社 基于字符分类检索字符串的装置和方法
US7178150B1 (en) * 2003-01-29 2007-02-13 Sprint Communications Company L.P. Serialization method for transmitting data via CORBA interceptors
US20080028376A1 (en) * 2006-07-26 2008-01-31 International Business Machines Corporation Simple one-pass w3c xml schema simple type parsing, validation, and deserialization system
CN106708591A (zh) * 2017-01-25 2017-05-24 东软集团股份有限公司 操作系统的文字检测方法及装置
CN106775638A (zh) * 2016-11-22 2017-05-31 北京皮尔布莱尼软件有限公司 一种对象序列化方法、装置和计算设备
CN110166326A (zh) * 2019-06-16 2019-08-23 北京中科海讯数字科技股份有限公司 通信协议数据实时自动跟踪系统

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1239793A (zh) * 1998-06-19 1999-12-29 富士通株式会社 基于字符分类检索字符串的装置和方法
US7178150B1 (en) * 2003-01-29 2007-02-13 Sprint Communications Company L.P. Serialization method for transmitting data via CORBA interceptors
US20080028376A1 (en) * 2006-07-26 2008-01-31 International Business Machines Corporation Simple one-pass w3c xml schema simple type parsing, validation, and deserialization system
CN106775638A (zh) * 2016-11-22 2017-05-31 北京皮尔布莱尼软件有限公司 一种对象序列化方法、装置和计算设备
CN106708591A (zh) * 2017-01-25 2017-05-24 东软集团股份有限公司 操作系统的文字检测方法及装置
CN110166326A (zh) * 2019-06-16 2019-08-23 北京中科海讯数字科技股份有限公司 通信协议数据实时自动跟踪系统

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112560395A (zh) * 2020-12-24 2021-03-26 凌云光技术股份有限公司 一种用于文本中包含数据进行格式化的装置及方法
CN113239156A (zh) * 2021-06-04 2021-08-10 网易(杭州)网络有限公司 文本处理方法、装置、计算设备以及介质
CN113239156B (zh) * 2021-06-04 2022-05-17 杭州网易智企科技有限公司 文本处理方法、装置、计算设备以及介质

Also Published As

Publication number Publication date
CN111783401B (zh) 2024-03-15

Similar Documents

Publication Publication Date Title
US9009664B2 (en) Structural search of source code
CN1257473C (zh) Html文档中增加可访问性的主动alt标记的方法和系统
CN109522018B (zh) 页面处理方法、装置及存储介质
US10922614B2 (en) Converting procedural text to an actionable knowledge form
CN111831384B (zh) 语言切换方法和装置、设备及存储介质
CN111736840A (zh) 小程序应用的编译方法、运行方法、存储介质及电子设备
CN113158101B (zh) 一种可视化页面渲染方法、装置、设备及存储介质
CN112395843B (zh) 一种基于php代码的业务处理方法、装置及设备和介质
CN110502520B (zh) 一种数据入库的方法、系统、设备及计算机可读存储介质
CN111783401B (zh) 字符串处理方法及装置、计算机存储介质、电子设备
TWI769632B (zh) 資料處理方法及處理器、電子設備及電腦可讀儲存媒體
CN112463152A (zh) 一种基于ast的网页适配方法及装置
CN114153459A (zh) 接口文档生成方法及装置
CN114138244A (zh) 模型类文件自动生成方法、装置、存储介质及电子设备
CN113657088A (zh) 接口文档解析方法、装置、电子设备以及存储介质
CN111078228A (zh) 网页到小程序的转换方法、装置、服务器及存储介质
JP5039946B2 (ja) クライアント装置およびサーバ装置の間の通信を中継する技術
CN115640279A (zh) 一种数据血缘关系的构建方法和装置
CN110717134A (zh) 产品说明发布方法、装置、存储介质及电子设备
CN111651696B (zh) 产品标签的定制方法及装置、计算机存储介质、电子设备
CN112699642B (zh) 复杂医疗文书的索引提取方法及装置、介质及电子设备
EP3825897A2 (en) Method, apparatus, device, storage medium and program for outputting information
CN113779121A (zh) 数据转换方法和装置、存储介质、电子设备
CN115618887B (zh) 动态长文本国际化方法、装置、设备及存储介质
CN116861922A (zh) 网页文本处理方法、装置、电子设备以及存储介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant