首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >在python字符串中查找\x

在python字符串中查找\x
EN

Stack Overflow用户
提问于 2018-07-05 22:30:29
回答 1查看 558关注 0票数 -1

我无法将python字符串中的\x替换为'‘

代码语言:javascript
复制
x ='\x01'
re.sub('\x','',x)

给予ValueError: invalid \x转义。

代码语言:javascript
复制
isinstance(x,unicode) 

给出了False。

代码语言:javascript
复制
def remove_non_ascii_2(text):
    return re.sub(r'[^\x00-\x7F]', '', text)

x = '\x01'
remove_non_ascii_2(x)

返回'\x01‘但不起作用

如何将'\x‘替换为空字符串?

EN

回答 1

Stack Overflow用户

发布于 2018-07-05 23:19:15

从评论中可以看出,您遇到的最大问题似乎是数据源不一致。在给定的值列表中,您有常规的浮点值:nan1.0、表示浮点数的0.0字符串:"1.0""0.0",以及包含整数作为二进制值的字符串:"\x01"

对字符串中的浮点数进行排序比较简单,如下所示:

代码语言:javascript
复制
if type(item) == float:
    #do stuff

此外,如果您想要对浮点值(一种特殊类型的nan )进行排序,您可以这样做:

代码语言:javascript
复制
if type(item) == float 
    if item == float('nan'):
        #do other stuff
    else:
        #do stuff

对字符串进行排序有点棘手,因为如果字符串看起来已经像浮点型(rules for looking like a float),那么有许多方法可以使用string.The常规字符串表示值,然后使用float("1.0") works进行浮点型转换。但是,如果该值由字符串字符的二进制值表示(听起来可能是这样),则必须找到一种方法来区分这两种类型的字符串。这可能和第一次尝试调用float(item)并在格式不符合“像浮点数”标准时捕获错误一样简单。然后,假设您只有一个字符,您可以使用ord(item)返回该字符的二进制表示。这可能看起来像这样:

代码语言:javascript
复制
try:
    converted = float(item)
catch ValueError:
    if len(item) == 1:
        converted = ord(item)
    else:
        #determine how to handle multi character values
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/51193908

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档