我在Python中有這樣的字符串。在Python中刪除字符串中的特殊字符
如何刪除Python中的↑。
我已經嘗試了谷歌提出的大多數方法,但似乎沒有工作。
Lorem Ipsum
↑
The results really show what a poisonous
我在Python中有這樣的字符串。在Python中刪除字符串中的特殊字符
如何刪除Python中的↑。
我已經嘗試了谷歌提出的大多數方法,但似乎沒有工作。
Lorem Ipsum
↑
The results really show what a poisonous
你試過str.replace()
?
>>> s = '''Lorem Ipsum
↑
The results really show what a poisonous'''
>>> s = s.replace('↑', '')
>>> print(s)
Lorem Ipsum
The results really show what a poisonous
這在解釋器中起作用。
# -*- coding: utf-8 -*-
非常感謝。我認爲對我來說缺少的一點就是指定編碼類型。 – CKCK
我使用這個腳本在python替換和刪除字符:
#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#Script for replacing characters on plain text file
original = open('input.txt', 'r')
final = open('output.txt',"w")
diccionario = [
("perros", "gatos"),
("↑", "")
]
data = original.read()
original.close()
salida = reduce(lambda a, kv: a.replace(*kv), diccionario, data)
final.write(salida)
final.close()
如果你的代碼是在一個文件中,那麼你可以通過將該線在頂部聲明你的.py文件的文件編碼
在本例中,我將「perros」替換爲「gatos」並刪除↑符號,請確保您要替換的文件保存在UTF-8編碼中。
那麼,你在這裏展示的包含unicode字符U + 2191。但是你忘了說它是一個unicode字符串還是一個字節字符串,在後一種情況下字符串是什麼。
如果它是一個unicode字符串(Python 3的字符串或Python 2的Unicode):
s.replace(u'\u2191', u'')
的伎倆,無論是你的Python版本或字符集。
,如果它是一個字節的字符串(Python的2串或Python 3字節)
s.replace(u'\u2191'.encode(charset), b'')
開了竅只要你知道你用什麼字符集。
我總是prefere這種非ASCII字符輸入的,這是因爲字符集用來讀取Python源在程序運行時可以不使用的字符集(那個什麼# -*- coding= ... -*-
線是爲)
你可以這樣做:
s = '''Lorem Ipsum
↑
The results really show what a poisonous'''
clean_string = "".join([ch for ch in s if ch.isalnum() or ch in string.punctuation or ch.isspace()])
這將刪除所有非標點符號/字母數字字符
我不能完全肯定,如果你想只保留文字和數字,所以如果你只需要所有的特殊字符經歷了一段時間我會建議這樣的標識任何特殊字符而不僅僅是一個:
import re
txt = 'Lorem Ipsum^The results really show what a poisonous'
for x in filter(str.strip, re.findall("[^\w.]+", txt)):
txt = txt.replace(x,' ')
print(txt)
你可以發佈你的代碼,你試過了嗎? – Hackaholic
你是否明確表示只有箭頭字符或任何特殊字符?標題和正文之間有衝突。 – dinos66