python去除行政区划的方法

一、去除字段中的“省”“市”等行政字样

        1.方法一

        使用正则表达式和一些字符串处理方法来提取出所需的信息。在这个例子中,你可以使用正则表达式来匹配行政区域名称,然后将其从字符串中去除(当然你要去除其他的字样也是可以的)。以下是一个简单的示例代码:

import re

def remove_administrative_regions(input_string):
    # 定义正则表达式匹配行政区域名称
    pattern = re.compile(r'省|市|自治区|特别行政区|县|区|自治县|自治州|旗|盟')
    
    # 使用正则表达式分割字符串
    parts = re.split(pattern, input_string)
    
    # 过滤掉空字符串
    parts = [part.strip() for part in parts if part.strip()]
    
    # 拼接剩余部分
    result = ''.join(parts)
    
    return result

# 测试
input_string = "甘肃省兰州市周家泵站取水口取水工程17"
result = remove_administrative_regions(input_string)
print(result)

# 输出
# 甘肃兰州周家泵站取水口取水工程17

        2.方法二

        这段代码使用了正则表达式将输入字符串按照行政区域名称进行分割,然后将分割后的部分拼接起来,得到去除行政区域名称的结果。请注意,这只是一个简单的例子,具体的正则表达式模式可能需要根据你的实际情况进行调整。

def remove_administrative_regions(input_string):
    # 定义行政区划名称列表
    administrative_regions = ["省", "市", "自治区", "特别行政区", "县", "区", "自治县", "自治州", "旗", "盟"]
    
    # 替换行政区划名称为空字符串
    for region in administrative_regions:
        input_string = input_string.replace(region, "")
    
    # 去除首尾空格
    input_string = input_string.strip()
    
    return input_string

# 测试
input_string = "甘肃省兰州市周家泵站取水口取水工程17"
result = remove_administrative_regions(input_string)
print(result)

# 输出
# 甘肃兰州周家泵站取水口取水工程17

二、去掉所有行政名称

        这段代码会将输入字符串中包含的行政区划名称替换为空字符串,然后去除首尾空格,最终得到去除行政区划名称后的结果。需要注意的是,输入的名称需要按照顺序排列。

def remove_administrative_regions(input_string):
    # 列出各省市自治区名称
    administrative_regions = ["省", "市", "自治区", "特别行政区"]

    # 遍历行政区划名称列表,找到最后一个出现的位置
    last_index = -1
    for region in administrative_regions:
        index = input_string.rfind(region)
        if index > last_index:
            last_index = index

    # 提取具体地址信息
    result = input_string[last_index + 1:]

    return result

# 测试
input_string = "甘肃省兰州市周家泵站取水口取水工程17"
result = remove_administrative_regions(input_string)
print(result)

# 输出
# 周家泵站取水口取水工程17

这段代码会遍历行政区划名称列表,找到输入字符串中最后一个行政区划名称出现的位置,并提取该位置之后的字符串作为输出结果。这样就能得到去除行政区划名称后的具体地址信息。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值