python3 字符串多少个汉字

Python019

python3 字符串多少个汉字,第1张

在python中一个汉字算一个字符,一个英文字母算一个字符。如:

## coding:utf-8

s='我们的'

k=len(s)

print(k)

输出结果是3。

===================================

所以,可以采取排除法,凡返回字符的ascII码在大于127的作为汉字统计。

## coding:utf-8

s='我们的88工作和生活168'

k=len(s)

print(k)

n=0

for c in s:

if ord(c)>127:

n+=1

print(n)

在python中一个汉字算一个字符,一个英文字母算一个字符。如:

## coding:utf-8

s='我们的'

k=len(s)

print(k)

输出结果是3。

===================================

所以,可以采取排除法,凡返回字符的ascII码在大于127的作为汉字统计。

## coding:utf-8

s='我们的88工作和生活168'

k=len(s)

print(k)

n=0

for c in s:

if ord(c)>127:

n+=1

print(n)

import re

s ='五百八十二元3角六分'

s = re.sub('一','1',s)

s = re.sub('二','2',s)

s = re.sub('三','3',s)

s = re.sub('四','4',s)

s = re.sub('五','5',s)

s = re.sub('六','6',s)

s = re.sub('七','7',s)

s = re.sub('八','8',s)

s=re.sub('九','9',s)

print(s)

a_list = re.findall('\d\D+',s) #type:list

print(a_list)

for a in range(len(a_list)): #type:int

('缩进')if a_list[a].endswith('百'):

('缩进')('缩进')a_list[a]=int(a_list[a][0]+'00')

('缩进')elif a_list[a].endswith('十'):

('缩进')('缩进')a_list[a] = int(a_list[a][0] + '0')

('缩进')elif a_list[a].endswith('元'):

('缩进')('缩进')a_list[a] = int(a_list[a][0])

('缩进')elif a_list[a].endswith('角'):

('缩进')('缩进')a_list[a] = float('0.'+a_list[a][0])

('缩进')elif a_list[a].endswith('分'):

('缩进')('缩进')a_list[a] = float('0.0'+a_list[a][0])

print(sum(a_list))

print(round(sum(a_list),2))