CN116107470A - 公式处理方法、装置、电子设备及存储介质 - Google Patents
公式处理方法、装置、电子设备及存储介质 Download PDFInfo
- Publication number
- CN116107470A CN116107470A CN202310118287.7A CN202310118287A CN116107470A CN 116107470 A CN116107470 A CN 116107470A CN 202310118287 A CN202310118287 A CN 202310118287A CN 116107470 A CN116107470 A CN 116107470A
- Authority
- CN
- China
- Prior art keywords
- input
- formula
- node
- display
- target
- 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.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/048—Interaction techniques based on graphical user interfaces [GUI]
- G06F3/0484—Interaction techniques based on graphical user interfaces [GUI] for the control of specific functions or operations, e.g. selecting or manipulating an object, an image or a displayed text element, setting a parameter value or selecting a range
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F40/00—Handling natural language data
- G06F40/10—Text processing
- G06F40/166—Editing, e.g. inserting or deleting
- G06F40/177—Editing, e.g. inserting or deleting of tables; using ruled lines
- G06F40/18—Editing, e.g. inserting or deleting of tables; using ruled lines of spreadsheets
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- General Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Health & Medical Sciences (AREA)
- Human Computer Interaction (AREA)
- Artificial Intelligence (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Computational Linguistics (AREA)
- General Health & Medical Sciences (AREA)
- Document Processing Apparatus (AREA)
- Input From Keyboards Or The Like (AREA)
Abstract
本申请提供一种公式处理方法、装置、电子设备及存储介质,其中,所述方法包括:在公式编辑器中获取输入公式,并根据输入公式生成结构树,其中,所述公式编辑器被配置为将所述输入公式转换为显示公式并显示;解析结构树,为输入公式中的每个输入元素以及显示公式中的每个显示元素设置索引,其中,相对应的输入元素与显示元素的索引相同;响应于将一个输入元素确定为目标输入元素,根据目标输入元素的目标索引,确定显示公式中与目标输入元素相对应的目标显示元素;对目标显示元素执行目标操作。本申请提供的方法使输入公式中的元素与显示公式中对应的元素能够通过相同的索引实现针对性的交互,增加了公式编辑器的功能,提升了用户体验。
Description
技术领域
本申请涉及计算机技术领域,尤其涉及一种公式处理方法、装置、电子设备及存储介质。
背景技术
在计算机技术中,对公式的处理往往依赖于公式编辑器,相关技术中的公式编辑器能够实现的功能包括解析输入的公式,将输入公式按照预定规则转化为显示公式,并展示显示公式。当用户在输入公式中新增元素,或改变输入公式中的某一元素,现有技术中的公式编辑器也只会利用上述功能重新生成并展示显示公式。
发明内容
有鉴于此,本申请的目的在于提出一种公式处理方法、装置、电子设备及存储介质。基于上述目的,本申请的第一方面提供了一种公式处理方法,包括:在公式编辑器中获取输入公式,并根据所述输入公式生成结构树,其中,所述公式编辑器被配置为将所述输入公式转换为显示公式并显示;解析所述结构树,为所述输入公式中的每个输入元素以及所述显示公式中的每个显示元素设置索引,其中,不同的输入元素的索引不同,每个所述输入元素均与一个所述显示元素相对应,相对应的所述输入元素与所述显示元素的索引相同;响应于将一个所述输入元素确定为目标输入元素,根据所述目标输入元素的目标索引,确定所述显示公式中与所述目标输入元素相对应的目标显示元素;对所述目标显示元素执行目标操作。
基于同一发明构思,本申请的第二方面提供了一种公式处理装置,包括:公式获取模块,被配置为在公式编辑器中获取输入公式,并根据所述输入公式生成结构树,其中,所述公式编辑器被配置为将所述输入公式转换为显示公式并显示;解析模块,被配置为解析所述结构树,为所述输入公式中的每个输入元素以及所述显示公式中的每个显示元素设置索引,其中,不同的输入元素的索引不同,每个所述输入元素均与一个所述显示元素相对应,相对应的所述输入元素与所述显示元素的索引相同;确定模块,被配置为响应于将一个所述输入元素确定为目标输入元素,根据所述目标输入元素的目标索引,确定所述显示公式中与所述目标输入元素相对应的目标显示元素;执行模块,被配置为对所述目标显示元素执行目标操作。
基于同一发明构思,本申请的第三方面提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现任意一项所述的方法。
基于同一发明构思,本申请的第四方面提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使计算机执行任意一项所述的方法。
从上面所述可以看出,相关技术中的公式处理方法为整个输入公式与整个显示公式之间的交互,而本申请提供的方法通过生成并解析结构树,能够通过索引单独建立起输入元素与显示元素间的联系,当确定目标输入元素后,只对目标显示元素执行目标操作,从而使输入公式中的元素与显示公式中对应的元素实现针对性的交互,增加了公式编辑器的功能,提升了用户体验。
附图说明
为了更清楚地说明本申请或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例的公式处理方法的流程示意图;
图2为本申请实施例的节点关系示意图;
图3为本申请实施例的光标位置示意图;
图4为本申请实施例的公式编辑方法具体实施场景示意图;
图5为本申请一个具体实施例的结构树示意图;
图6为本申请实施例的公式处理装置的结构示意图;
图7为本申请实施例的电子设备硬件结构示意图。
具体实施方式
为使本申请的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本申请进一步详细说明。
下面将参考若干示例性实施方式来描述本申请的原理和精神。应当理解,给出这些实施方式仅仅是为了使本领域技术人员能够更好地理解进而实现本申请,而并非以任何方式限制本申请的范围。相反,提供这些实施方式是为了使本申请更加透彻和完整,并且能够将本申请的范围完整地传达给本领域的技术人员。
在本文中,需要理解的是,附图中的任何元素数量均用于示例而非限制,以及任何命名都仅用于区分,而不具有任何限制含义。
本申请的一个实施例提供了一种公式处理方法,如图1所示,所述方法包括:
步骤S101、在公式编辑器中获取输入公式,并根据所述输入公式生成结构树,其中,所述公式编辑器被配置为将所述输入公式转换为显示公式并显示。所述结构树包括多个节点,多个节点根据之间的关系连接成所述结构树,所述多个节点以及节点间的关系均为根据所述输入公式生成的。
步骤S102、解析所述结构树,为所述输入公式中的每个输入元素以及所述显示公式中的每个显示元素设置索引,其中,不同的输入元素的索引不同,每个所述输入元素均与一个所述显示元素相对应,相对应的所述输入元素与所述显示元素的索引相同。由于显示公式是由输入公式转换而来的,所以显示公式中的显示元素与输入公式中的输入元素必然为数量相同且一一对应的。
步骤S103、响应于将一个所述输入元素确定为目标输入元素,根据所述目标输入元素的目标索引,确定所述显示公式中与所述目标输入元素相对应的目标显示元素。需要说明的是,相对应的输入元素与显示元素可以显示为不同的字符,例如在输入公式中输入的为英文,公式编辑器将其显示为中文,只要该显示元素为根据一个输入元素生成的,这两个元素即存在对应关系。
步骤S104、对所述目标显示元素执行目标操作。
本申请提供的方法通过生成并解析结构树,使输入公式中的元素与显示公式中对应的元素能够通过相同的索引实现针对性的交互,增加了公式编辑器的功能,提升了用户体验。所述针对性的交互指的是,如背景技术部分所述,相关技术中的公式处理方法为整个输入公式与整个显示公式之间的交互,而本申请提供的方法能够通过索引单独建立起输入元素与显示元素间的联系,当确定目标输入元素后,只对目标显示元素执行目标操作,所述目标操作可以为更改元素、标记元素等。本申请说明书后续会给出目标操作的具体实施例。
在一些实施例中,所述步骤S101包括:
步骤S201、根据所述输入公式中的每个所述输入元素生成多个规则节点与多个元素节点,其中,每个所述输入元素均与一个所述元素节点相对应,所述规则节点为根据元素节点以及节点关系生成的,所述规则节点用于串联起元素节点,进行形成整个结构树。
步骤S202、利用所述规则节点以及所述元素节点生成所述结构树。
上述实施例根据输入公式生成结构树,其中,所述结构树中包含于输入元素相对应的元素节点,能够梳理出输入公式中各个输入元素的结构关系,便于为每个输入元素设置索引。
一种具体的实施例中,响应于所述输入公式增加了新的输入元素,根据新的输入元素在所述结构树中加入新的元素节点,或新的元素节点于规则节点;并重新解析加入新的节点后的结构树,为新的输入元素设置索引。
在一些实施例中,所述规则节点包括第一规则节点、第二规则节点以及第三规则节点,所述元素节点包括类型节点、括号节点以及数据节点,如图2所示,所述规则节点与所述元素节点的节点关系包括:
所述第一规则节点的子节点包括所述类型节点以及所述第二规则节点,所述第二规则节点的子节点包括所述括号节点以及所述第三规则节点,所述第三规则节点的子节点包括所述数据节点,或所述数据节点以及所述第一规则节点。
在一些实施例中,所述步骤S201包括:
步骤S301、根据每个所述输入元素生成至少一个所述类型节点、至少两个所述括号节点以及至少一个所述数据节点;
步骤S302、根据所述节点关系,生成至少一个所述第一规则节点、至少一个所述第二规则节点以及至少一个所述第三规则节点。
一种具体的实施例中,所述输入公式中的输入元素会利用分词器预先结构化,分别定义所有输入元素为类型元素、括号元素以及数据元素,从而根据类型元素、括号元素以及变量元素生成所述类型节点、括号节点以及数据节点,具体的,所述数据元素还包括变量元素以及分割元素,所述数据节点还包括变量节点以及分割节点。
生成类型节点、括号节点以及数据节点后,根据节点关系能够对应生成所述类型节点、括号节点以及数据节点的根节点或子节点,从而串联起整个结构树。
在一些实施例中,所述步骤S102包括:
步骤S401、根据所述节点关系,并按照从根节点到子节点的顺序依次解析所述结构树中的节点。
步骤S402、响应于解析到所述元素节点,为该元素节点所对应的所述输入元素,以及该输入元素所对应的所述显示元素设置所述索引。
本申请的一个实施例提供了一个算法组,将所述结构树带入所述算法组即可实现根据所述节点关系,并按照从根节点到子节点的顺序依次解析所述结构树中的节点。具体的,所述算法组包括算法A、算法B以及算法C。
响应于遍历到所述第三规则节点,执行算法A,所述算法A具体包括:S1、判断当前节点是否有非空的子节点,如果有执行S2,否则返回;S2、对当前节点的子节点排序,并遍历所有子节点,响应于解析到所述元素节点,为该元素节点所对应的所述输入元素,以及该输入元素所对应的所述显示元素设置所述索引,响应于解析到所述第一规则节点,执行算法B。
所述算法B具体包括:S1、判断当前节点是否有非空的子节点,如果有执行S2,否则返回;S2、对当前节点的子节点排序,并遍历所有子节点,响应于解析到所述元素节点,为该元素节点所对应的所述输入元素,以及该输入元素所对应的所述显示元素设置所述索引,响应于解析到所述第二规则节点,执行算法C。
所述算法C具体包括:S1、对当前节点的子节点排序,并遍历所有子节点,响应于解析到所述元素节点,为该元素节点所对应的所述输入元素,以及该输入元素所对应的所述显示元素设置所述索引,响应于解析到所述第三规则节点,执行算法A。
需要说明的是,虽然上述算法A、算法B以及算法C执行过程相似,但由于元素节点包括与类型元素、括号元素以及数据元素相对应的节点,所以对于不同的规则节点的解析规则在具体实施时不会完全相同,故在此处分为三种算法。对于不同的规则节点的解析规则会在下述实施例中进一步说明。
在一些实施例中,所述步骤S103包括:
步骤S501、获取光标在所述输入公式中的光标位置。
步骤S502、根据所述光标位置将一个所述输入元素确定为所述目标输入元素。
具体实施时,在输入所述输入元素时,光标会默认选中新输入的输入元素,即本申请上述实施例提供的公式处理方法能够实时处理输入的公式,并实时对新输入的输入元素所对应的显示元素执行目标操作。
一种具体的实施例中,所述输入元素中还包括特殊元素,所述特殊元素虽然由多个字符组成,但通过将该元素设置contentEditable=false(可编辑模式关闭)以及在该元素前后插入两个零宽字符,使光标无法插入特殊元素的多个字符中间。
基于同一个发明构思,一种具体的实施例中,在输入新的输入元素后,所述方法还包括:
遍历输入元素,每个输入元素的字符重新进行分词,如果新输入的字符的长度还是1,判断定义类型是否改变,如果改变,则修改新输入的字符的定义类型;如果新输入的字符的长度大于1,表示通过中文输入法一次输入多个字符,则证明生成的新的输入元素,将新的输入元素插入后,更新光标位置。
在一些实施例中,所述步骤S502包括:
响应于所述光标位置落入所述输入公式中的一个输入元素的坐标范围内,将该输入元素确定为所述目标输入元素。
在一些实施例中,每个所述输入元素均包括起始坐标与结束坐标,每个所输入述元素的所述坐标范围为根据该输入元素的所述起始坐标与所述结束坐标确定的。
在一些实施例中,若所述输入元素的所述起始坐标与所述结束坐标直接相邻,则该输入元素的所述坐标范围包括所述结束坐标;若所述输入元素的所述起始坐标与所述结束坐标不直接相邻,则该输入元素的所述坐标范围包括所述起始坐标加一的中间坐标、所述结束坐标、以及所述中间坐标与所述结束坐标之间的坐标。
以图3为例,图3中的“Date”为普通元素,中间可以插入光标,其起始坐标为0至4,所以该元素的坐标范围为1至4,只要光标落入坐标1至4即代表选中该元素。“多选”以及“附件”均为特殊元素,其起始坐标与结束坐标直接相邻,故只有光标落在结束坐标6、8、10,才算选中对应元素。
在一些实施例中,所述步骤S104包括:标记所述目标显示元素。在一些实施例中,所述步骤S104进一步包括:利用高亮标记所述目标显示元素。
高亮所述目标显示元素,能够使用户清楚快速知悉其选中的目标输入元素所对应的目标显示元素的位置,提升了用户体验。
下面通过一个具体实施场景说明本申请提供的方法。图4示出了一种具体实施例中的公式编辑器,以及公式编辑器中输入区的输入公式与显示区的显示公式,输入公式与显示公式中相同的元素相对应,其他元素的对应关系如下:“单选”对应“年”,“日期”对应“月”,“多选”对应“时”,“变量4”对应“分”。如图4所示,光标在公式编辑器的输入区选中了输入公式中的“单选”,通过本申请提供的方法,能够对显示公式中的“年”执行目标操作,具体为高亮“年”。
图5示出了根据图4中的输入公式所生成的结构树。calcClause为子公式匹配规则节点,即上述实施例中的第一规则节点;FunctionType为类型名称节点,上述实施例中忽略,DATE以及DAY为上述实施例中的类型节点。bracketRule为括号匹配规则节点,即上述实施例中的第二规则节点;LBracket以及RBracket为上述实施例中的括号节点;clauseParams为变量规则节点,即上述实施例中的第三规则节点;单选、日期、多选、变量4为上述实施例中包括在数据节点之内的变量节点,Comma为上述实施例中包括在数据节点之内的分割节点。
上述每个节点均定义了NODE,NODE包括name、location、children三个字段。name对应的是在结构树中的内容类型,例如该节点是FunctionType还是DATE或Comma;location则代表了该元素在输入公式中的位置,包括起始坐标startOffset和结束坐标endOffset;children则表示该节点的子节点。
本申请定义了一种解析方法φ,方法φ会为节点传入三个变量,当前节点NODE,FunctionType以及当前位置index,此处的FunctionType指对每个节点重新设置的FunctionType,代表当前节点类型,index即为本申请上述实施例中的索引,需要说明的是,每当方法φ为一个元素节点传入了一个index后,为下一个元素节点传入的index加1,这样能够为不同的元素节点传入不同的index。
本申请的一个实施例提供了一个算法组,将所述结构树带入所述算法组即可实现根据所述节点关系,并按照从根节点到子节点的顺序依次解析所述结构树中的节点。
所述算法组包括算法A、算法B以及算法C。检测到clauseParams,执行算法A,检测到calcClause,执行算法B,检测到其他节点,执行算法C。
算法A具体包括:
S1、判断当前节点是否有非空的children,如果有执行S2,否则返回。
S2、对当前节点的children排序。
S3、遍历当前节点children,对每一项children都执行上述方法φ或算法B。
算法B具体包括:
S1、判断当前节点是否有非空的children,如果有执行S2,否则返回。
S2、设置当前节点的FunctionType与index。
S3、根据定义的匹配规则,当前节点的children里必然包含FunctionType,存储该节点的类型为typeNew,并传入index。
S4、对于其他children继续调用算法B、算法C以及方法φ。
算法C具体包括:
S1、判断当前节点是否有非空的children,如果有执行S2,否则执行S1.2。
S1.2、对当前节点调用方法φ。
S2、判断当前节点是否为规则节点,如果是,利用算法A与算法B再次调用方法φ。
根据以上算法遍历结构树,就能够按照从根节点到子节点的顺序依次解析所述结构树中的节点,最后为每个元素节点都传入index,即设置索引,以实现本申请提供的方法。
需要说明的是,本申请实施例的方法可以由单个设备执行,例如一台计算机或服务器等。本实施例的方法也可以应用于分布式场景下,由多台设备相互配合来完成。在这种分布式场景的情况下,这多台设备中的一台设备可以只执行本申请实施例的方法中的某一个或多个步骤,这多台设备相互之间会进行交互以完成所述的方法。
需要说明的是,上述对本申请的一些实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于上述实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种公式处理装置,如图6所示,所述装置包括:
公式获取模块10,被配置为在公式编辑器中获取输入公式,并根据所述输入公式生成结构树,其中,所述公式编辑器被配置为将所述输入公式转换为显示公式并显示;
解析模块20,被配置为解析所述结构树,为所述输入公式中的每个输入元素以及所述显示公式中的每个显示元素设置索引,其中,不同的输入元素的索引不同,每个所述输入元素均与一个所述显示元素相对应,相对应的所述输入元素与所述显示元素的索引相同;
确定模块30,被配置为响应于将一个所述输入元素确定为目标输入元素,根据所述目标输入元素的目标索引,确定所述显示公式中与所述目标输入元素相对应的目标显示元素;
执行模块40,被配置为对所述目标显示元素执行目标操作。
在一些实施例中,所述公式获取模块10还被配置为:
根据所述输入公式中的每个所述输入元素生成多个规则节点与多个元素节点,其中,每个所述输入元素均与一个所述元素节点相对应;利用所述规则节点以及所述元素节点生成所述结构树。
在一些实施例中,所述规则节点包括第一规则节点、第二规则节点以及第三规则节点,所述元素节点包括类型节点、括号节点以及数据节点;
所述规则节点与所述元素节点的节点关系包括:所述第一规则节点的子节点包括所述类型节点以及所述第二规则节点,所述第二规则节点的子节点包括所述括号节点以及所述第三规则节点,所述第三规则节点的子节点包括所述数据节点,或所述数据节点以及所述第一规则节点。
在一些实施例中,所述公式获取模块10还被配置为:
根据每个所述输入元素生成至少一个所述类型节点、至少两个所述括号节点以及至少一个所述数据节点;根据所述节点关系,生成至少一个所述第一规则节点、至少一个所述第二规则节点以及至少一个所述第三规则节点。
在一些实施例中,所述解析模块20还被配置为:
根据所述节点关系,并按照从根节点到子节点的顺序依次解析所述结构树中的节点;响应于解析到所述元素节点,为该元素节点所对应的所述输入元素,以及该输入元素所对应的所述显示元素设置所述索引。
在一些实施例中,所述确定模块30还被配置为:
获取光标在所述输入公式中的光标位置;根据所述光标位置将一个所述输入元素确定为所述目标输入元素。
在一些实施例中,所述确定模块30还被配置为:
响应于所述光标位置落入所述输入公式中的一个输入元素的坐标范围内,将该输入元素确定为所述目标输入元素。
在一些实施例中,每个所述输入元素均包括起始坐标与结束坐标,每个所输入述元素的所述坐标范围为根据该输入元素的所述起始坐标与所述结束坐标确定的。
在一些实施例中,若所述输入元素的所述起始坐标与所述结束坐标直接相邻,则该输入元素的所述坐标范围包括所述结束坐标;若所述输入元素的所述起始坐标与所述结束坐标不直接相邻,则该输入元素的所述坐标范围包括所述起始坐标加一的中间坐标、所述结束坐标、以及所述中间坐标与所述结束坐标之间的坐标。
在一些实施例中,所述执行模块40还被配置为:标记所述目标显示元素。
在一些实施例中,所述执行模块40还被配置为:利用高亮标记所述目标显示元素。
为了描述的方便,描述以上装置时以功能分为各种模块分别描述。当然,在实施本申请时可以把各模块的功能在同一个或多个软件和/或硬件中实现。
上述实施例的装置用于实现前述任一实施例中相应的公式处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现上任意一实施例所述的式处理方法。
图7示出了本实施例所提供的一种更为具体的电子设备硬件结构示意图,该设备可以包括:处理器1010、存储器1020、输入/输出接口1030、通信接口1040和总线1050。其中处理器1010、存储器1020、输入/输出接口1030和通信接口1040通过总线1050实现彼此之间在设备内部的通信连接。
处理器1010可以采用通用的CPU(Central Processing Unit,中央处理器)、微处理器、应用专用集成电路(Application Specific Integrated Circuit,ASIC)、或者一个或多个集成电路等方式实现,用于执行相关程序,以实现本说明书实施例所提供的技术方案。
存储器1020可以采用ROM(Read Only Memory,只读存储器)、RAM(Random AccessMemory,随机存取存储器)、静态存储设备,动态存储设备等形式实现。存储器1020可以存储操作系统和其他应用程序,在通过软件或者固件来实现本说明书实施例所提供的技术方案时,相关的程序代码保存在存储器1020中,并由处理器1010来调用执行。
输入/输出接口1030用于连接输入/输出模块,以实现信息输入及输出。输入输出/模块可以作为组件配置在设备中(图中未示出),也可以外接于设备以提供相应功能。其中输入设备可以包括键盘、鼠标、触摸屏、麦克风、各类传感器等,输出设备可以包括显示器、扬声器、振动器、指示灯等。
通信接口1040用于连接通信模块(图中未示出),以实现本设备与其他设备的通信交互。其中通信模块可以通过有线方式(例如USB、网线等)实现通信,也可以通过无线方式(例如移动网络、WIFI、蓝牙等)实现通信。
总线1050包括一通路,在设备的各个组件(例如处理器1010、存储器1020、输入/输出接口1030和通信接口1040)之间传输信息。
需要说明的是,尽管上述设备仅示出了处理器1010、存储器1020、输入/输出接口1030、通信接口1040以及总线1050,但是在具体实施过程中,该设备还可以包括实现正常运行所必需的其他组件。此外,本领域的技术人员可以理解的是,上述设备中也可以仅包含实现本说明书实施例方案所必需的组件,而不必包含图中所示的全部组件。
上述实施例的电子设备用于实现前述任一实施例中相应的式处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
基于同一发明构思,与上述任意实施例方法相对应的,本申请还提供了一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令用于使所述计算机执行如上任一实施例所述的式处理方法。
本实施例的计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。
上述实施例的存储介质存储的计算机指令用于使所述计算机执行如上任一实施例所述的式处理方法,并且具有相应的方法实施例的有益效果,在此不再赘述。
所属领域的普通技术人员应当理解:以上任何实施例的讨论仅为示例性的,并非旨在暗示本申请的范围(包括权利要求)被限于这些例子;在本申请的思路下,以上实施例或者不同实施例中的技术特征之间也可以进行组合,步骤可以以任意顺序实现,并存在如上所述的本申请实施例的不同方面的许多其它变化,为了简明它们没有在细节中提供。
另外,为简化说明和讨论,并且为了不会使本申请实施例难以理解,在所提供的附图中可以示出或可以不示出与集成电路(IC)芯片和其它部件的公知的电源/接地连接。此外,可以以框图的形式示出装置,以便避免使本申请实施例难以理解,并且这也考虑了以下事实,即关于这些框图装置的实施方式的细节是高度取决于将要实施本申请实施例的平台的(即,这些细节应当完全处于本领域技术人员的理解范围内)。在阐述了具体细节(例如,电路)以描述本申请的示例性实施例的情况下,对本领域技术人员来说显而易见的是,可以在没有这些具体细节的情况下或者这些具体细节有变化的情况下实施本申请实施例。因此,这些描述应被认为是说明性的而不是限制性的。
尽管已经结合了本申请的具体实施例对本申请进行了描述,但是根据前面的描述,这些实施例的很多替换、修改和变型对本领域普通技术人员来说将是显而易见的。例如,其它存储器架构(例如,动态RAM(DRAM))可以使用所讨论的实施例。
本申请实施例旨在涵盖落入所附权利要求的宽泛范围之内的所有这样的替换、修改和变型。因此,凡在本申请实施例的精神和原则之内,所做的任何省略、修改、等同替换、改进等,均应包含在本申请的保护范围之内。
Claims (14)
1.一种公式处理方法,其特征在于,包括:
在公式编辑器中获取输入公式,并根据所述输入公式生成结构树,其中,所述公式编辑器被配置为将所述输入公式转换为显示公式并显示;
解析所述结构树,为所述输入公式中的每个输入元素以及所述显示公式中的每个显示元素设置索引,其中,不同的输入元素的索引不同,每个所述输入元素均与一个所述显示元素相对应,相对应的所述输入元素与所述显示元素的索引相同;
响应于将一个所述输入元素确定为目标输入元素,根据所述目标输入元素的目标索引,确定所述显示公式中与所述目标输入元素相对应的目标显示元素;
对所述目标显示元素执行目标操作。
2.根据权利要求1所述的方法,其特征在于,所述根据所述输入公式生成结构树,包括:
根据所述输入公式中的每个所述输入元素生成多个规则节点与多个元素节点,其中,每个所述输入元素均与一个所述元素节点相对应;
利用所述规则节点以及所述元素节点生成所述结构树。
3.根据权利要求2所述的方法,其特征在于,所述规则节点包括第一规则节点、第二规则节点以及第三规则节点,所述元素节点包括类型节点、括号节点以及数据节点;
所述规则节点与所述元素节点的节点关系包括:
所述第一规则节点的子节点包括所述类型节点以及所述第二规则节点,所述第二规则节点的子节点包括所述括号节点以及所述第三规则节点,所述第三规则节点的子节点包括所述数据节点,或所述数据节点以及所述第一规则节点。
4.根据权利要求3所述的方法,其特征在于,所述根据所述输入公式中的每个所述输入元素生成多个规则节点与多个元素节点,包括:
根据每个所述输入元素生成至少一个所述类型节点、至少两个所述括号节点以及至少一个所述数据节点;
根据所述节点关系,生成至少一个所述第一规则节点、至少一个所述第二规则节点以及至少一个所述第三规则节点。
5.根据权利要求3所述的方法,其特征在于,所述解析所述结构树,为所述输入公式中的每个输入元素以及所述显示公式中的每个显示元素设置索引,包括:
根据所述节点关系,并按照从根节点到子节点的顺序依次解析所述结构树中的节点;
响应于解析到所述元素节点,为该元素节点所对应的所述输入元素,以及该输入元素所对应的所述显示元素设置所述索引。
6.根据权利要求1所述的方法,其特征在于,所述将一个所述输入元素确定为目标输入元素,包括:
获取光标在所述输入公式中的光标位置;
根据所述光标位置将一个所述输入元素确定为所述目标输入元素。
7.根据权利要求6所述的方法,其特征在于,所述根据所述光标位置将一个所述输入元素确定为所述目标输入元素,包括:
响应于所述光标位置落入所述输入公式中的一个输入元素的坐标范围内,将该输入元素确定为所述目标输入元素。
8.根据权利要求7所述的方法,其特征在于,每个所述输入元素均包括起始坐标与结束坐标,每个所输入述元素的所述坐标范围为根据该输入元素的所述起始坐标与所述结束坐标确定的。
9.根据权利要求8所述的方法,其特征在于,若所述输入元素的所述起始坐标与所述结束坐标直接相邻,则该输入元素的所述坐标范围包括所述结束坐标;若所述输入元素的所述起始坐标与所述结束坐标不直接相邻,则该输入元素的所述坐标范围包括所述起始坐标加一的中间坐标、所述结束坐标、以及所述中间坐标与所述结束坐标之间的坐标。
10.根据权利要求1所述的方法,其特征在于,所述对所述目标显示元素执行目标操作,包括:
标记所述目标显示元素。
11.根据权利要求10所述的方法,其特征在于,所述标记所述目标显示元素,包括:
利用高亮标记所述目标显示元素。
12.一种公式处理装置,其特征在于,包括:
公式获取模块,被配置为在公式编辑器中获取输入公式,并根据所述输入公式生成结构树,其中,所述公式编辑器被配置为将所述输入公式转换为显示公式并显示;
解析模块,被配置为解析所述结构树,为所述输入公式中的每个输入元素以及所述显示公式中的每个显示元素设置索引,其中,不同的输入元素的索引不同,每个所述输入元素均与一个所述显示元素相对应,相对应的所述输入元素与所述显示元素的索引相同;
确定模块,被配置为响应于将一个所述输入元素确定为目标输入元素,根据所述目标输入元素的目标索引,确定所述显示公式中与所述目标输入元素相对应的目标显示元素;
执行模块,被配置为对所述目标显示元素执行目标操作。
13.一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,其特征在于,所述处理器执行所述程序时实现如权利要求1至11任意一项所述的方法。
14.一种非暂态计算机可读存储介质,所述非暂态计算机可读存储介质存储计算机指令,其特征在于,所述计算机指令用于使计算机执行权利要求1至11任一所述方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310118287.7A CN116107470A (zh) | 2023-02-01 | 2023-02-01 | 公式处理方法、装置、电子设备及存储介质 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202310118287.7A CN116107470A (zh) | 2023-02-01 | 2023-02-01 | 公式处理方法、装置、电子设备及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN116107470A true CN116107470A (zh) | 2023-05-12 |
Family
ID=86253973
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202310118287.7A Pending CN116107470A (zh) | 2023-02-01 | 2023-02-01 | 公式处理方法、装置、电子设备及存储介质 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN116107470A (zh) |
-
2023
- 2023-02-01 CN CN202310118287.7A patent/CN116107470A/zh active Pending
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112102437B (zh) | 一种基于Canvas的雷达图生成方法、装置、存储介质及终端 | |
CN112214210A (zh) | 后勤业务规则引擎及其配置方法、装置、设备和存储介质 | |
CN110634049A (zh) | 页面显示内容的处理方法、装置、电子设备及可读介质 | |
CN111124541B (zh) | 一种配置文件的生成方法、装置、设备及介质 | |
CN112199261A (zh) | 应用程序性能分析方法及装置、电子设备 | |
CN110968513B (zh) | 一种测试脚本的录制方法及装置 | |
CN116107470A (zh) | 公式处理方法、装置、电子设备及存储介质 | |
CN115543324B (zh) | 交互界面的生成方法、装置、设备及介质 | |
CN111273980A (zh) | 界面线程可视化方法、装置、计算机设备及存储介质 | |
US20240319967A1 (en) | Script generation method and apparatus, device, and storage medium | |
CN115618363A (zh) | 漏洞路径的挖掘方法及相关设备 | |
CN113642295B (zh) | 页面排版方法、装置及计算机程序产品 | |
CN116644732A (zh) | 二进制加密算法的识别方法、装置、电子设备及存储介质 | |
CN111539200B (zh) | 一种生成富文本的方法、装置、介质和电子设备 | |
CN115357696A (zh) | 基于组件的动态图表看板展示方法及相关设备 | |
CN110780898B (zh) | 页面数据的升级方法、装置和电子设备 | |
CN114385158A (zh) | 一种数据交互系统构建方法、装置及设备 | |
CN112000573A (zh) | 代码质量的监控方法、装置、计算机设备及介质 | |
CN111143398A (zh) | 基于扩展sql函数的超大集合查询方法及装置 | |
CN114356311B (zh) | 代码性能数据的交互方法、装置、介质及电子设备 | |
CN111352622B (zh) | 一种获取组件高度的方法、页面渲染方法及相关装置 | |
CN116910631B (zh) | 数组对比方法、装置、电子设备及可读存储介质 | |
CN111125147B (zh) | 基于扩展预计算模型和sql函数的超大集合分析方法及装置 | |
CN112463146B (zh) | 一种健康险财务准备金输出方法、装置和电子设备 | |
CN115422916A (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 |