如何从字段中删除1和/或2个单词

2024-06-17 19:46:55 发布

您现在位置:Python中文网/ 问答频道 /正文

python新手。正在尝试使用python在ArcGIS映射中显示标签。我尝试了几个表达式,但似乎无法从名为SITE_NAME的字段中删除单词“Branch”和/或“Library”。站点名称的某些值存储为

"[name of city] Branch Library"

其他的都是

"[name of city] Library"

我不希望我的标签显示在地图上,因为它看起来太忙。一些城市名称包含字符串"Ranch",因此这些名称也被剥离了-例如,如果名称是"Weston Ranch Branch Library",我只希望标签是"Weston Ranch",或者如果名称是"Weston Library",则只显示"Weston."谢谢。你知道吗

def FindLabel ( [SITE], [SITE_NAME] ):
    return [SITE]+"-"+[SITE_NAME]

Tags: ofname名称branchcity表达式librarysite
1条回答
网友
1楼 · 发布于 2024-06-17 19:46:55

您可以使用两个replace语句,后跟注释中提到的其他语句。i、 e

label = label.replace('Branch Library', '').replace('Library', '')

但是,如果有更多要删除的单词,可以创建一个实际的shorten_site_name函数,该函数包含一组要删除的单词:

>>> def shorten_site_name(site_name):
...   words_to_remove = {"Branch", "Library"}
...   return ' '.join(w for w in site_name.split() if w not in words_to_remove)
... 
>>> site_names = ["Weston Ranch Branch Library", "Weston Library"]
>>> new_site_names = list(map(lambda site: shorten_site_name(site), site_names))
>>> new_site_names
['Weston Ranch', 'Weston']

相关问题 更多 >