我需要从字符串'بسماللهالرحمنالرحيم'中删除一些Unicode符号
我知道他们肯定存在于这里.我试过了:
re.sub('([\u064B-\u0652\u06D4\u0670\u0674\u06D5-\u06ED]+)', '', '?????? ??????? ???????????? ??????????')
Run Code Online (Sandbox Code Playgroud)
但它不起作用.字符串保持不变.我究竟做错了什么?
我想知道一个匹配埃及象形文字的正则表达式.我完全无能为力,需要你的帮助.
我无法发布信件,因为堆栈溢出似乎无法识别它.
所以任何人都可以让我知道这些角色的unicode范围.
正如标题所说的那样.
$ ./configure --help | grep -i ucs
--enable-unicode[=ucs[24]]
Run Code Online (Sandbox Code Playgroud)
搜索官方文档,我发现了这个:
sys.maxunicode:一个整数,给出Unicode字符支持的最大代码点.其值取决于配置选项,该选项指定Unicode字符是否存储为UCS-2或UCS-4.
这里不清楚的是 - 哪些值对应于UCS-2和UCS-4.
该代码预计适用于Python 2.6+.
我在Python中发现了这个用于删除表情符号的代码,但它无效.你能帮忙解决其他问题吗?
我已经观察到我的所有emjois都开始了\xf但是当我尝试搜索时str.startswith("\xf")我得到了无效的字符错误.
emoji_pattern = r'/[x{1F601}-x{1F64F}]/u'
re.sub(emoji_pattern, '', word)
Run Code Online (Sandbox Code Playgroud)
这是错误:
Traceback (most recent call last):
File "test.py", line 52, in <module>
re.sub(emoji_pattern,'',word)
File "/usr/lib/python2.7/re.py", line 151, in sub
return _compile(pattern, flags).sub(repl, string, count)
File "/usr/lib/python2.7/re.py", line 244, in _compile
raise error, v # invalid expression
sre_constants.error: bad character range
Run Code Online (Sandbox Code Playgroud)
列表中的每个项目都可以是单词 ['This', 'dog', '\xf0\x9f\x98\x82', 'https://t.co/5N86jYipOI']
更新:我使用了其他代码:
emoji_pattern=re.compile(ur" " " [\U0001F600-\U0001F64F] # emoticons \
|\
[\U0001F300-\U0001F5FF] # symbols & pictographs\
|\
[\U0001F680-\U0001F6FF] # transport & map symbols\
|\
[\U0001F1E0-\U0001F1FF] …Run Code Online (Sandbox Code Playgroud) 我在我的python程序中收到此错误: ValueError: All strings must be XML compatible: Unicode or ASCII, no NULL bytes or control characters
这个问题,来自/ dev/random的随机文本引发了lxml中的错误:所有字符串必须是XML兼容的:Unicode或ASCII,没有NULL字节,解释了这个问题.
解决方案是过滤掉某些字节,但我很困惑如何去做.
有帮助吗?
编辑:对不起,如果我没有提供有关该问题的足够信息.字符串数据来自外部api查询,我无法控制数据的格式.