Python实现针对含中文字符串的截取功能示例

发布时间 - 2026-01-11 03:22:38    点击率:

本文实例讲述了Python实现针对含中文字符串的截取功能。分享给大家供大家参考,具体如下:

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

下面给出utf8和gb18030上的实现, 用任何一种都可以,可以先进行转码,用encode, decode;

方法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相关内容感兴趣的读者可查看本站专题:《Python编码操作技巧总结》、《Python字符串操作技巧汇总》、《Python数组操作技巧总结》、《Python函数使用技巧总结》、《Python入门与进阶经典教程》及《Python数据结构与算法教程》

希望本文所述对大家Python程序设计有所帮助。


# Python  # 中文  # 字符串  # 截取  # python 截取 取出一部分的字符串方法  # Python字符串拼接、截取及替换方法总结分析  # Python中的字符串切片(截取字符串)的详解  # Python 字符串操作实现代码(截取/替换/查找/分割)  # Python 字符串操作(string替换、删除、截取、复制、连接、比较、查找、包含、大小写转换、分  # Python实现简单截取中文字符串的方法  # Python中文字符串截取问题  # Python 字符串、列表、元组的截取与切片操作示例  # python 用下标截取字符串的实例  # Python截取字符串的简单方法实例  # 多字  # 操作技巧  # 进阶  # 相关内容  # 感兴趣  # 数据结构  # 给大家  # 能将  # 更多关于  # 所述  # 程序设计  # 使用技巧  # 讲述了  # subString  # string  # length  # brush  # py  # def  # gt 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 微信小程序 五星评分(包括半颗星评分)实例代码  JavaScript中如何操作剪贴板_ClipboardAPI怎么用  如何在万网自助建站中设置域名及备案?  如何快速配置高效服务器建站软件?  东莞市网站制作公司有哪些,东莞找工作用什么网站好?  网易LOFTER官网链接 老福特网页版登录地址  Laravel的.env文件有什么用_Laravel环境变量配置与管理详解  西安专业网站制作公司有哪些,陕西省建行官方网站?  如何在阿里云部署织梦网站?  如何在建站之星网店版论坛获取技术支持?  Laravel怎么为数据库表字段添加索引以优化查询  百度浏览器ai对话怎么关 百度浏览器ai聊天窗口隐藏  微信小程序 require机制详解及实例代码  韩国网站服务器搭建指南:VPS选购、域名解析与DNS配置推荐  小视频制作网站有哪些,有什么看国内小视频的网站,求推荐?  七夕网站制作视频,七夕大促活动怎么报名?  Laravel如何为API生成Swagger或OpenAPI文档  JS去除重复并统计数量的实现方法  JavaScript如何实现错误处理_try...catch如何捕获异常?  Linux系统命令中screen命令详解  Laravel如何使用软删除(Soft Deletes)功能_Eloquent软删除与数据恢复方法  香港服务器WordPress建站指南:SEO优化与高效部署策略  Laravel如何构建RESTful API_Laravel标准化API接口开发指南  济南网站建设制作公司,室内设计网站一般都有哪些功能?  佛山网站制作系统,佛山企业变更地址网上办理步骤?  iOS中将个别页面强制横屏其他页面竖屏  猪八戒网站制作视频,开发一个猪八戒网站,大约需要多少?或者自己请程序员,需要什么程序员,多少程序员能完成?  消息称 OpenAI 正研发的神秘硬件设备或为智能笔,富士康代工  如何基于PHP生成高效IDC网络公司建站源码?  iOS发送验证码倒计时应用  Python正则表达式进阶教程_复杂匹配与分组替换解析  Laravel如何使用Sanctum进行API认证?(SPA实战)  Win11怎么开启自动HDR画质_Windows11显示设置HDR选项  Laravel Seeder怎么填充数据_Laravel数据库填充器的使用方法与技巧  HTML 中如何正确使用模板变量为元素的 name 属性赋值  Laravel怎么在Controller之外的地方验证数据  *服务器网站为何频现安全漏洞?  Laravel如何监控和管理失败的队列任务_Laravel失败任务处理与监控  如何在云主机快速搭建网站站点?  轻松掌握MySQL函数中的last_insert_id()  Laravel Asset编译怎么配置_Laravel Vite前端构建工具使用  如何快速建站并高效导出源代码?  Windows11怎样设置电源计划_Windows11电源计划调整攻略【指南】  Laravel如何实现登录错误次数限制_Laravel自带LoginThrottles限流配置【方法】  Win11怎么关闭透明效果_Windows11辅助功能视觉效果设置  Laravel如何实现API资源集合?(Resource Collection教程)  如何确保FTP站点访问权限与数据传输安全?  Laravel数据库迁移怎么用_Laravel Migration管理数据库结构的正确姿势  如何利用DOS批处理实现定时关机操作详解  黑客如何通过漏洞一步步攻陷网站服务器?