[发明专利]一种角标的处理方法及系统在审
申请号: | 201710124158.3 | 申请日: | 2017-03-03 |
公开(公告)号: | CN107066427A | 公开(公告)日: | 2017-08-18 |
发明(设计)人: | 石贤明 | 申请(专利权)人: | 石贤明 |
主分类号: | G06F17/21 | 分类号: | G06F17/21 |
代理公司: | 北京轻创知识产权代理有限公司11212 | 代理人: | 杨立,王丹 |
地址: | 457536 河*** | 国省代码: | 河南;41 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 标的 处理 方法 系统 | ||
技术领域
本发明涉及一种符号处理技术,特别涉及一种角标的处理方法。
背景技术
技术文件中常常用到符号角标,如化学式、开方运算等,目前在软件界面上显示的技术文件里符号角标的处理方法及其存在的问题如下:第一种是通过插件来插入公式的方式,缺点是占用内存大,甚至会出现卡顿现象;第二种是用程序语言对上角标和下角标进行单个处理,缺点是不灵活、处理过程繁琐,且不能设定角标的大小,显示效果不理想;第三种是直接以数字形式表示角标,缺点是角标和符号的大小一致,显示效果不理想,且在同时存在上角标和下角标时难以正确表示符号的含义。
发明内容
本发明所要解决的技术问题是提供一种角标的处理方法,通过算法对用户输入的字符串中的角标进行识别并处理成规范的角标样式。
本发明解决上述技术问题的技术方案如下:一种角标的处理方法,包括如下步骤:
步骤1、输入待处理的字符串;
步骤2、将所述字符串进行格式化;
步骤3、设置角标和正常字符的显示比例;
步骤4、将经过格式化的字符串转换成字符数组;
步骤5、按照预设算法遍历所述字符数组,找到符合角标条件的字符的位置;
步骤6、根据所述位置和显示比例设置角标。
进一步,所述步骤5具体包括如下步骤:
步骤5.1、判断当前字符是否为“)”、“]”或元素最后一个字母,若是则进入下一步;
步骤5.2、判断右侧是否为数字,若是则进入下一步;
步骤5.3、初始化右侧为下角标起始位置subStart=i+1,其中i表示当前字符的位置,设字符数组长度为L,i的范围是[0,L-1],定义一个初始值为1的标识flag,进入下一步;
步骤5.4、判断subStart+flag是否小于字符数组长度,若是则进入下一步;
步骤5.5、判断位置为subStart+flag的字符是否为数字且flag是否小于等于2,若是则flag加1,返回步骤5.4,若否则进入下一步;
步骤5.6、下角标结束位置为subEnd=subStart+flag。
进一步,步骤5.1还包括:在当前字符为“)”时,判断左侧是否为数字、“F”、“H”、“N”或“O”,若是则进入下一步。
进一步,所述步骤5具体包括:
步骤5.1、判断当前字符是否为“)”、“]”或元素最后一个字母,若是则进入下一步;
步骤5.2、判断是否满足下列条件之一:1)当前字符为“C”且右侧为“n”且右侧第二个字符为“H”;2)当前字符为“n”且左侧为数字且右侧为“+”或“-”;3)当前字符为“n”且左侧为“H”且右侧为“+”或“-”;4)当前字符为“)”或“]”且右侧为“n”;5)当前字符为“H”且右侧为“n”且右侧第二个字符为“+”或“-”,若是则进入下一步;
步骤5.3、初始化右侧为下角标起始位置subStart=i+1,其中i表示当前字符的位置,设字符数组长度为L,i的范围是[0,L-1],定义一个初始值为1的标识flag,进入下一步;
步骤5.4、判断subStart+flag是否小于字符数组长度,若是则进入下一步,若否则进入步骤5.6;
步骤5.5、判断是否符合下列条件之一:1)当前字符为“H”且位置为subStart+flag的字符为“n”;2)当前字符为“H”且位置为subStart+flag-1的字符为“n”且位置为subStart+flag的字符为“+”或“-”;3)当前字符为“H”,且位置为subStart+flag-2的字符为“n”,且位置为subStart+flag-1的字符为“+”或“-”,且位置为subStart+flag的字符为数字,若是则flag加1,返回步骤5.4,若否则进入下一步;
步骤5.6、下角标结束位置为subEnd=subStart+flag。
进一步,所述步骤5具体包括:
步骤5.1、判断当前字符是否为“)”、“]”或元素最后一个字母,若是则进入下一步;
步骤5.2、判断右侧是否为数字,若是则进入下一步;
步骤5.3、初始化右侧为下角标起始位置subStart=i+1,其中i表示当前字符的位置,设字符数组长度为L,i的范围是[0,L-1],定义一个初始值为1的标识flag,进入下一步;
步骤5.4、判断subStart+flag是否小于字符数组长度,若是则进入下一步,若否则进入步骤5.10;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于石贤明,未经石贤明许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710124158.3/2.html,转载请声明来源钻瓜专利网。