python目标识别 干扰项_GitHub - MoonBall/TextProcess: 对文本内容的干扰项进行替换

TextProcess

在对代码文件进行文本处理时,如果仅仅想偷懒不想从编译器的角度写处理程序,需要考虑很多特殊情况。比如注释与字符串是不受语法限制的。该工具的作用就是将文本文件中,存在的干扰项进行替换,当完成文本处理程序后,恢复先前的替换。

使用方式

对注释进行替换

注释替换就是删除,所以不一定能完全恢复。如果对存在注释的行进行过修改,那么改行的注释就不能恢复,会被丢弃。提供的注释替换类为 SingleLineCommentReplace, MultiLineCommentReplace。已实现的注释有:

ASingleLineComment = SingleLineCommentReplace('#') # Python 单行注释

CSingleLineComment = SingleLineCommentReplace('//') # C 语言单行注释

AMultiLineComment = MultiLineCommentReplace('', True) # HTML 多行注释

BMultiLineComment = MultiLineCommentReplace('/\*', '\*/', True) # C 语言多行注释,可嵌套

CMultiLineComment = MultiLineCommentReplace('/\*', '\*/', False) # C 语言多行注释,不嵌套

一般替换

一般替换是将存在的干扰项替换为唯一的ID,因为ID的唯一性,所以该替换可完全恢复。通常只需继承 GeneralReplace 并重写 find 方法即可。已实现的替换有 LiteralStringReplace:

ALiteralString = LiteralStringReplace('@"', '"', False) # OC 字符串 @""

BLiteralString = LiteralStringReplace("'", "'", False) # Py 字符串 ''

CLiteralString = LiteralStringReplace('"', '"', False) # C 字符串 ""

DLiteralString = LiteralStringReplace('"""', '"""', True) # Py 字符串 """ """

ELiteralString = LiteralStringReplace("'''", "'''", True) # Py 字符串 ''' '''

使用

只需使用 TextProcessor 类。

addReplace 方法,添加一个替换。

addHandle 方法,添加一个文本处理。方法参数为 原文本内容,返回值为 处理后的内容。

sequenceProcess 方法,执行处理,所有 addReplace 中添加的替换将按添加的顺序进行替换操作。

centerProcess 方法,执行处理。所有 addReplace 中添加的替换将集中进行一次替换。一般选这个哒~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值