我在python中有一个字符串
set = "U+06A4, U+06A7, U+06A8, U+06A9, U+06AF"
我想找U+
到此字符串中以 开头的所有单词,并将它们附加到相应的字形中。
例如,说
word_found_in_string = 'U+064A'
我想用
replace_with = 'U+064A chr(int(word_found_in_string[2:6],16))'
wherechr(int(word_found_in_string[2:6],16))
在我的输出文件中打印相应的字形。
我如何使用re
模块对我的字符串中的所有 unicode 代码点执行此操作,以便我的结果字符串的所有代码点都附加有相应的字形?
re.sub
可以取一个函数进行替换。这里我使用了一个 lambda 函数。对于正则表达式的每个匹配项,都会使用匹配对象调用它。m.group(0)
是整个匹配项,m.group(1)
是与四个十六进制数字匹配的括号表达式。
import re
s = 'U+06A4, U+06A7, U+06A8, U+06A9, U+06AF'
s = re.sub(r'U\+([0-9A-F]{4})',lambda m: m.group(0)+' '+chr(int(m.group(1),16)),s)
print(s)
输出:
U+06A4 ڤ, U+06A7 ڧ, U+06A8 ڨ, U+06A9 ک, U+06AF گ
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句