簡體   English   中英

刪除scrapy python中的特殊字符

[英]remove special character in scrapy python

我嘗試刪除以下文本之間的特殊字符:

sample_sample_sample_2.18.14

我嘗試了以下模式來刪除這些特殊字符:

item['xxxx'] = item['aaaa'].replace('_' '' ,'-' '')

我可以單獨刪除_字符。

我嘗試刪除所有字符,例如: . , _ , - , ( , ) . , _ , - , ( , )

據我了解,您想從字符串中刪除非字母數字字符。 在這種情況下,列出要保留的字符比嘗試指定要刪除的每個“特殊”字符要有意義。

您可以使用re.sub()

>>> import re
>>> s = "sample_sample_sample_2.18.14"
>>> re.sub(r'[^a-zA-Z0-9]', '', s)
'samplesamplesample21814'

這是刪除某些字符的解決方案。

>>> text = 'sample_sample_sample_2.18.14'
>>> ''.join(c for c in text if c not in '._-()')
'samplesamplesample21814'

另一個解決方案是保留某些字符,但這取決於您要做什么。


更優化的速度等效項:

Python 2:

>>> text.translate(None, '._-()')
'samplesamplesample21814'

Python 3:

>>> text.translate(str.maketrans('', '', '._-()'))
'samplesamplesample21814'

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM