Python利用jieba分词提取字符串中的省市区(字符串无规则)

背景

今天的需求就是在一串字符串中提取包含,省、市、区,该字符串不是一个正常的地址;,如下字符串

"安徽省、浙江省、江苏省、上海市,冷运标快首重1kg价格xx元,1.01kg(含)-5kg(不含)续重价格xx元/kg,5kg(含)以上续重价格xx元/kg。广西壮族自治区"

能够提取['安徽省','浙江省','江苏省','上海市','广西壮族自治区']

库(jieba)

库的话,是第三方库【jieba】,所以需安装,安装如下:

pip install jieba

代码

# -*- coding: UTF-8 -*-
'''
@Project :拆分 
@File    :test.py
@IDE     :PyCharm 
@Author  :一晌小贪欢([email protected])
@Date    :2023/10/11 15:01 
'''
import jieba
text = "安徽省、浙江省、江苏省、上海市,冷运标快首重1kg价格xx元,1.01kg(含)-5kg(不含)续重价格xx元/kg,5kg(含)以上续重价格xx元/kg。广西壮族自治区"

seg_list = jieba.lcut(text)
province = ""
city = ""
district = ""

add_list = []

for word in seg_list:
    if "省" in word:
        province = word
        # 省
        # print(province)
        add_list.append(province)
    elif "市" in word:
        city = word
        # 市
        # print(city)
        add_list.append(city)
    elif "区" in word:
        district = word
        # 区
        # print(district)
        add_list.append(district)

print(add_list)


输出

['安徽省', '浙江省', '江苏省', '上海市', '广西壮族自治区']

拓展

还有一个库也是非常好用的,就是,第三方库 【 jionlp】,也可以将一串字符串提取出包含,省、市、区,但是,该字符串需要是一个正常的地址;,如下图:

在这里插入图片描述

结尾

希望对大家有帮助

致力于办公自动化的小小程序员一枚

都看到这了,关注+点赞+收藏=不迷路!!

猜你喜欢

转载自blog.csdn.net/weixin_42636075/article/details/133771078