删除';d';和';n';python中的strip字符

删除';d';和';n';python中的strip字符,python,Python,数据帧 string1 Data%2Fxxx Data%2Ffrance Data%2Fdenmark Data%2Fnorway 代码 输出 string1 xxx france enmark orway 所以,strip函数正在删除第一个字符“d”和“n”有人知道原因吗?我如何阻止删除此内容?这与“\d”和“\n”有关吗? python版本-3.7.4str.replace()应该可以很好地为您工作 >>> x.replace('Data%2F', '') 这应该是

数据帧

string1
Data%2Fxxx
Data%2Ffrance
Data%2Fdenmark
Data%2Fnorway
代码

输出

string1
xxx
france
enmark
orway
所以,strip函数正在删除第一个字符“d”和“n”
有人知道原因吗?
我如何阻止删除此内容?
这与“\d”和“\n”有关吗?
python版本-3.7.4

str.replace()应该可以很好地为您工作

>>> x.replace('Data%2F', '')

这应该是因为\n如果它也发生在t上。您应该使用replace,因为它不会去掉空白

string.replace("Data%2F","")

正确的方法是使用string.replace()

df['string1']=[x.replace('Data%2F','')用于dbppp.string1中的x]

string.strip()方法返回字符串的一个副本,其中所有字符都已从字符串的开头和结尾剥离

当我测试时,它给了我一个不同的结果,但仍然不正确

例如,如果要从字符串的开头和结尾删除空格,则使用string.strip()。根据“chars参数不是前缀或后缀;相反,其值的所有组合都被剥离。”文档中的示例:

    >>> '   spacious   '.strip()
    'spacious'
    >>> 'www.example.com'.strip('cmowz.')
    'example'

换句话说,x.strip('Data%2F')指示Python从字符串的开头和结尾剥离任何a、t、D等。这就是为什么
“Data%2Faloha”.strip(“Data%2F”)
实际上会返回
“loh”
,除非在末尾有一个空格,该空格不是示例中chars参数的一部分。这是我对你的最好猜测

这完全没问题。但是我想知道为什么strip会这样,我无法重现您的问题,但是这个函数最适合删除给定字符串开头和结尾的几个字符。您试图删除的字符都在字符串(“数据%2F”)中。它可能是“%”字符,但我没有一个明确的答案。我可以在Python 3.6.8中看到这个问题,我没有使用Pandas,只是一个普通的strings@AlexandreB. 你很好,从实际的角度来确定特定于版本的行为从来都不是坏事,我不能用Python
3.7.3
仅仅是一个注释。您是否意识到它不适用于您在此处使用它的方式
strip
将减少其参数字符串中的任何字符,因此不必在其中包含两个a。(也就是说:您注意到的行为与此描述不一致。)如果您使用,它的行为是否与所描述的一致?
    >>> '   spacious   '.strip()
    'spacious'
    >>> 'www.example.com'.strip('cmowz.')
    'example'