难于搜索并找到字符串中的特殊“ \”字符吗?

问题描述 投票:0回答:1

我有一个人名列表(字符串元素),其中一些人的名字中间有一个反斜杠'\'损坏了。

我想将它们过滤到外面,但是发现了难以解释的问题...

为了查找\反斜杠,我使用了.find方法或in,它们似乎都一样工作。

似乎唯一有效的参数是"\\",因为"\"r'\'都将导致错误(转义最后的引号-> SyntaxError: EOL while scanning string literal

因此,这是搜索代码:

names = ["robert", "rob\xadt", "egi\xadio"] for name in names: print(name.find('\\'))

这将返回-1,-1,-1(没有找到)

我无法更改包含这些名称的输入字符串,但是,出于这个问题,如果我手动采用这些名称之一并在前面添加r raw,则该代码可以像下面的最后一个元素:

names = ["egi\xadio", r"egi\xadio"] for name in names: print(name.find('\\'))

这将返回-1,3(找到了东西!)

我尝试系统地添加原始符号r,但没有成功,如下所示:

name = 'rob\xadt' name = fr'{name}' name.find('\\')

最后,下面两个“相似”代码都找不到\,但我想知道第一个为什么会出错:

name = "rob\xar" name.find('\\')

SyntaxError: ((unicode错误)'unicodeescape'编解码器无法解码位置3-5中的字节:截断的\ xXX转义] >>

name = "rob\xad" name.find('\\')

确定

任何见解?预先感谢!

我有一个人名列表(字符串元素),其中一些人的名字中间有一个反斜杠'\'损坏了。我想将它们过滤到外面,但是是...

python string
1个回答
0
投票
name = r"rob\xar"
name.find('\\')
© www.soinside.com 2019 - 2024. All rights reserved.