我尝试使用Python搜索关键字" javascript"在句子中,即
data = "I am trying to search javascript in data"
但是搜索" javascript"可能有一些字符表示为十六进制等价物,
即,
javascript
,Jav#61Script
或4A#61#76#61#53#63#72#69#70#74
等等。
整个单词可能表示为十六进制,或者只是其中的一部分。那么我该如何正确搜索javascript
?
答案 0 :(得分:2)
听起来你想要一个正则表达式,其中每个连续的字符可以是字母(大小写?)或十六进制表示。
答案 1 :(得分:0)
它不漂亮。效率不高。但它确实有效。
>>> import re
>>> regex = re.compile(r'#[0-9A-F]+')
>>>
>>> test_string = '#4A#61#76#61#53#63#72#69#70#74'
>>> for hex_string in re.findall(regex, test_string):
... test_string = test_string.replace(hex_string, chr(int(hex_string.replace('#', ''), 16)))
...
>>> test_string
'JavaScript'
如果有一个库或处理这种编码方案的东西,可能有更好的方法,但因为它是我不认识它所以我没有什么可推荐但是"暴力"。