继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

python中文字符串截取功能,请查收

幕布斯7119047
关注TA
已关注
手记 432
粉丝 28
获赞 102

    今天给大家说一说python中文字符串截取的功能,供大家参考具体如下:

    对于含多字节的字符串,进行截断的时候,要判断截断处是几字节字符,不能将多字节从中分割,避免截断后乱码。

方法1:对utf8:

def subString(string,length):

if length >= len(string):

return string

result = ''

i = 0

p = 0

while True:

ch = ord(string[i])

#1111110x

if ch >= 252:

p = p + 6

#111110xx

elif ch >= 248:

p = p + 5

#11110xxx

elif ch >= 240:

p = p + 4

#1110xxxx

elif ch >= 224:

p = p + 3

#110xxxxx

elif ch >= 192:

p = p + 2

else:

p = p + 1

if p >= length:

break;

else:

i = p

return string[0:i]

方法2:对gb18030编码

def cut_string_off(string,s_len):

if len(string)==0 or s_len <=0:

return string

elif len(string)==1 or s_len >= len(string):

return string

elif s_len < len(string):

len_num=0

while len_num < s_len:

tmp_c=ord(string[len_num])

if tmp_c >0 and tmp_c <=0x7F:

len_num+=1

continue

tmp_nextc=ord(string[len_num+1])

if tmp_c >= 0x81 and tmp_c <=0xFE and tmp_nextc>=0x40 and tmp_nextc<=0xFE:

len_num+=2

continue

else:

len_num +=1;

continue

break

tmp = string[0:len_num]

# print utf2gbk(tmp)

return tmp

    好啦,以上便是python中文字符串截取功能的全部内容,更多内容干货可关注慕课网~

打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP