簡體   English   中英

包含雙引號字符的python字符串

[英]python string including double quote character

我輸入了由字符組成的字符串,包括雙引號和單引號“和”

B@SS$*JU(PQ
AD&^%$^@!$
%()%@@DDSFD"*")(#
ABD*E@(%J^&@

但是,當我從文本文件打開上面的輸入並打印它時,第三行中的雙引號打印為\\ xe2 \\ x80 \\ x9d

我的目標是做一個簡單的字符計數:

B 2
@ 3
S 2
$ 3
etc.

所以我希望能夠輸出

" 3

在上面的列表中。 我應該用一些東西替換雙引號,以便我可以計算它們並打印掉計數嗎?

非常感謝。

\\ XE2 \\ X80 \\ x9d

是“特殊”雙引號的unicode值。 您可以從UTF-8解碼為Unicode,將其轉換為“單個”Unicode字符。

>>> print "\xe2\x80\x9d".decode("utf-8")
”
>>> len("\xe2\x80\x9d".decode("utf-8"))
1

如果您使用的是Python 3:

>>> print(b"\xe2\x80\x9d".decode('utf8'))
”
>>> len(b"\xe2\x80\x9d".decode("utf-8"))
1

因此,對於您正在計算的文件(在Python 2中):

from collections import defaultdict
with open("filename", 'r') as f:
    for text in f:
        decoded = text.decode("utf-8")
        count = defaultdict(int)
        for i in decoded:
            count[i] += 1

暫無
暫無

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

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