python创建包含双引号的字符串代码_包含双引号字符的python字符串

I have input strings that are comprised of characters, including double and single quotes " and '

B@SS$*JU(PQ

AD&^%$^@!$

%()%@@DDSFD"*")(#

ABD*E@(%J^&@

however, when I open the above input from a text file and just print it, the double quotes " in the third line get printed as \xe2\x80\x9d

I am aiming to do a simple character count:

B 2

@ 3

S 2

$ 3

etc.

so I want to be able to output

" 3

in the above list. Should I replace the double quotes with something so I can count them and print out the count?

Thanks a lot.

解决方案\xe2\x80\x9d

Is a unicode value for "special" double quotes. You could decode from UTF-8 into Unicode to convert this into a "single" Unicode character.

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

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

1

If you are using Python 3:

>>> print(b"\xe2\x80\x9d".decode('utf8'))

>>> len(b"\xe2\x80\x9d".decode("utf-8"))

1

So for your file that you are counting (in 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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值