python string的中文字符串截取

python string的中文字符串截取

Dec 26, 2013
Coding
Python

本文代码基于 python 2.x 版本

下面函数是从我在写的一个python自动获取天气的程序中截取的。

该函数将从中文字符串“浙江省杭州市”中,截取出"杭州"

首先将字符串编码为gbk,使用unicode(str,code),将code型编码的 str字符串转换成unicode

然后判断字符串中是否含有"省"和"市"字,如果有就截取掉;这里注意使用 u“省”

最后返回截取的字符串。

函数如下:

def convertName(cityName):
    '''''将 “浙江省杭州市” 转换成“杭州”'''

    name = unicode(cityName, "gbk")
    #name=cityName.encode("utf-8") #测试时,utf-8不行,未解
    print name

    if name.find(u"省") !=-1:# 包含'省'
        #print u'有省'
        name=name.split(u'省')[1]
    if name.find(u"市") != -1:#包含'市'
        #print u'有市'
        name=name.split(u'市')[0]
    return name

该文2013-05-22 21:30首发于我的CSDN专栏。